一个简单的按钮布局界面,想简化代码,但为什么都不显示啊
import javax.swing.*; import java.awt.*; public class Dog { public static void main(String [] args){ JFrame frame = new JFrame(); frame.setSize(new Dimension(100,100)); frame.setLocation(10,10); frame.setVisible(true); frame.setLayout(new BorderLayout()); String[] s ={"BorderLayout.NORTH","BorderLayout.WEST","BorderLayout.CENTER","BorderLayout.EAST","BorderLayout.SOUTH"}; for(int i = 1; i <= 5; i++){ frame.add(new JButton("button"+ i),s[i-1]); } } }
public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(new Dimension(100,100)); frame.setLocation(10,10); frame.setVisible(true); frame.setLayout(new BorderLayout()); String[] s ={BorderLayout.NORTH,BorderLayout.WEST,BorderLayout.CENTER,BorderLayout.EAST,BorderLayout.SOUTH}; for(int i = 1; i <= 5; i++){ frame.add(new JButton("button"+ i),s[i-1]); } }
[解决办法]
frame.setVisible(true);
放在最后试下
import javax.swing.*; import java.awt.*; public class Dog { public static void main(String [] args){ JFrame frame = new JFrame(); frame.setSize(new Dimension(100,100)); frame.setLocation(10,10); frame.setLayout(new BorderLayout()); String[] s ={"BorderLayout.NORTH","BorderLayout.WEST","BorderLayout.CENTER","BorderLayout.EAST","BorderLayout.SOUTH"}; for(int i = 1; i <= 5; i++){ frame.add(new JButton("button"+ i),s[i-1]); } frame.setVisible(true); } }
[解决办法]
import javax.swing.*; import java.awt.*; public class Dog { public static void main(String [] args){ JFrame frame = new JFrame(); frame.setSize(new Dimension(100,100)); frame.setLocation(10,10); frame.setLayout(new BorderLayout()); String[] s ={BorderLayout.NORTH,BorderLayout.WEST,BorderLayout.CENTER,BorderLayout.EAST,BorderLayout.SOUTH}; for(int i = 1; i <= 5; i++){ frame.add(new JButton("button"+ i),s[i-1]); } frame.setVisible(true); }}
[解决办法]
刚刚发现上面的Border的常量用的不对,应该写成这样
import javax.swing.*;import java.awt.*;public class Dog{ public static void main(String [] args){ JFrame frame = new JFrame(); frame.setSize(new Dimension(100,100)); frame.setLocation(10,10); frame.setLayout(new BorderLayout()); String[] s ={BorderLayout.NORTH,BorderLayout.WEST,BorderLayout.CENTER,BorderLayout.EAST,BorderLayout.SOUTH}; for(int i = 1; i <= 5; i++){ frame.add(new JButton("button"+ i),s[i-1]); } frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }}
[解决办法]
正解。
import javax.swing.*; import java.awt.*; public class Test { public static void main(String [] args){ JFrame frame = new JFrame(); frame.setSize(new Dimension(400,500)); frame.setLocation(10,10); frame.setLayout(new BorderLayout()); // String[] s ={"BorderLayout.NORTH","BorderLayout.WEST","BorderLayout.CENTER","BorderLayout.EAST","BorderLayout.SOUTH"}; // for(int i = 1; i <= 5; i++){ //BorderLayout.NORTH 并不等于字符串"BorderLayout.NORTH" frame.add(new JButton("button1"),BorderLayout.NORTH); frame.add(new JButton("button2"),BorderLayout.WEST); frame.add(new JButton("button3"),BorderLayout.CENTER); frame.add(new JButton("button4"),BorderLayout.EAST); frame.add(new JButton("button5"),BorderLayout.SOUTH); //} //Frame要加添加完控件以后,在设置为显示状态 frame.setVisible(true); }}