下面是代码 主要看下jButton1MouseClicked()吧import java.awt.*;public class NewJFrame extends javax.swing.JFrame
{
/** Creates new form NewJFrame */
public NewJFrame()
{
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">
private void initComponents()
{
jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setBackground(new java.awt.Color(204, 255, 255));
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 250, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 166, Short.MAX_VALUE)
); jButton1.setText("jButton1");
jButton1.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseClicked(java.awt.event.MouseEvent evt)
{
jButton1MouseClicked(evt);
}
}); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(69, 69, 69)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(143, 143, 143)
.addComponent(jButton1)))
.addContainerGap(81, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(34, 34, 34)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 48, Short.MAX_VALUE)
.addComponent(jButton1)
.addGap(29, 29, 29))
);
pack();
}// </editor-fold> private void jButton1MouseClicked(java.awt.event.MouseEvent evt)
{
jPanel1.getGraphics().drawLine(0,0,100,100);
jPanel1.getGraphics().drawString("abc",0,0);
jPanel1.getGraphics().drawImage(Toolkit.getDefaultToolkit().getImage("img.gif"),0,0,this);
}
/**
* @param args the command line arguments
*/
public static void main(String args[])
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new NewJFrame().setVisible(true);
}
});
}
// 变量声明 - 不进行修改
private javax.swing.JButton jButton1;
private javax.swing.JPanel jPanel1;
// 变量声明结束
}编译运行 点击按钮后 只有 drawLine显示出来了 drawString和drawImage却没有显示
请教下大家这是为什么 怎么改?
{
/** Creates new form NewJFrame */
public NewJFrame()
{
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">
private void initComponents()
{
jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setBackground(new java.awt.Color(204, 255, 255));
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 250, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 166, Short.MAX_VALUE)
); jButton1.setText("jButton1");
jButton1.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseClicked(java.awt.event.MouseEvent evt)
{
jButton1MouseClicked(evt);
}
}); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(69, 69, 69)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(143, 143, 143)
.addComponent(jButton1)))
.addContainerGap(81, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(34, 34, 34)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 48, Short.MAX_VALUE)
.addComponent(jButton1)
.addGap(29, 29, 29))
);
pack();
}// </editor-fold> private void jButton1MouseClicked(java.awt.event.MouseEvent evt)
{
jPanel1.getGraphics().drawLine(0,0,100,100);
jPanel1.getGraphics().drawString("abc",0,0);
jPanel1.getGraphics().drawImage(Toolkit.getDefaultToolkit().getImage("img.gif"),0,0,this);
}
/**
* @param args the command line arguments
*/
public static void main(String args[])
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new NewJFrame().setVisible(true);
}
});
}
// 变量声明 - 不进行修改
private javax.swing.JButton jButton1;
private javax.swing.JPanel jPanel1;
// 变量声明结束
}编译运行 点击按钮后 只有 drawLine显示出来了 drawString和drawImage却没有显示
请教下大家这是为什么 怎么改?
解决方案 »
- java socket奇怪现象
- java 后台监听键盘~~
- duplicate class,怎么解决?
- 什么是小应用程序
- java调用ntdll.dll中的函数
- [求助]我想分隔字符串如何处理?
- Apache Jakarta Commons的SDK哪有下
- 看thinking in java 遇到问题,郁闷两天了,请帮忙解决。
- ====》菜鸟问问题罗:non-static method this cannot be referenced from a static context
- 关于FRAME组件的显示模型??在线等。
- j2ee,tomcat,myeclipse怎么连起来啊
- 请问 UML中两个Actor之间除了泛化的关系外,还可以有别的关系吗?
jPanel1.getGraphics().drawString("abc",0,10);图片的方法正确,估计是gif动画不停的刷新,致使你看不到结果,高程jpg图片试试。
而且还要写绝对路径,比如“C:\\img.jpg”(图片我和class文件放一起了)
还有一点莫名其妙的是 按一次Button后图形图像闪下就没了 按第二次才出了 (不画图片就没问题)