public test() { initComponents(); } private void initComponents() { jFileChooser1 = new javax.swing.JFileChooser(); jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jComboBox1 = new javax.swing.JComboBox(); jTextField1 = new javax.swing.JTextField(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jPanel2 = new javax.swing.JPanel(); jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jButton3 = new javax.swing.JButton(); jPanel3 = new javax.swing.JPanel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jTextField2 = new javax.swing.JTextField(); jTextField3 = new javax.swing.JTextField(); jTextField4 = new javax.swing.JTextField(); jLabel6 = new javax.swing.JLabel(); jLabel7 = new javax.swing.JLabel(); jLabel8 = new javax.swing.JLabel();
直接贴代码算了 public class a { JFrame fram = new JFrame("frame"); JButton button = new JButton("button"); public a(){ fram.setLocation(400, 300); fram.setVisible(true); fram.add(button); fram.pack(); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub new a(); }}
button放jpanel上试试
就是设计有改动 我就加了个jButton
但是就是不显示出来
看来你还是没明白我的意识我加jbutton 在frame
但是 我的source 上没有这个jbutton的代码所以就不显示出来
我就想问问为什么代码都不显示呢
但是在frame 编辑器上还是能看见的
initComponents();
} private void initComponents() { jFileChooser1 = new javax.swing.JFileChooser();
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jComboBox1 = new javax.swing.JComboBox();
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jPanel2 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jButton3 = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jTextField4 = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
之后把JButton 设置成绝对坐标
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JList jList1;
private javax.swing.JScrollPane jScrollPane1;
// End of variables declaration//GEN-END:variables以上两处是不是很重要呀?
在加入JButton后,validate这个方法是一定要调用的。
我觉得,不应该在JFrame已经初始化以后再加入组件的。
应该先把所有的组件都添加上去,而设置不需要的组件为非显示。再动态的改变他们的显示状态。
button需要放在容器里的,如panel,然后随着容器来显示出来。
不然你new再多的button也没有用的。
我别的组件都加完了
现在开始要新加一个组件但是 这个组件我放在jpanel里了
编辑器里有这个控件了但是 代码里没有相关的代码我现在是把我的代码回复到最早的状态也就是设计ui画面的时候那个时候我可以添加组件 代码里也有了相关的代码了问题就是为什么我在做完程序了
但是 我在新加组件 就不行呢?
你在matisse palette 模式下
设计页面的时候 添加一个Button
是不是代码就自动生成了现在就是代码不自动生成了
明白了吗?
所以我就不知道为什么了
public class a { JFrame fram = new JFrame("frame");
JButton button = new JButton("button");
public a(){
fram.setLocation(400, 300);
fram.setVisible(true);
fram.add(button);
fram.pack();
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new a();
}}
我就是删除了这些注释代码才出现这样的问题的哎 不得不从新画
当年new了JButton出来,不仅要add到JFrame里面,还要自己管理布局。。那是一个暗无天日的年代啊