老师布置了一个添加代码的程序,因为是初学,很多东西不懂。程序的一些功能还没添完整。但是应该不影响运行啊:我把代码贴到下面。
希望大家给看看,到底是哪里出错了:
import javax.swing.*;
import java.awt.*;
//import javax.swing.border.*;
class MyWin extends JFrame{
JTabbedPane tabbedPane;
JPanel flowLayoutPanel,gridLayoutPanel,borderLayoutPanel,nullLayoutPanel;
Box boxLayoutPanel;
JSplitPane splitPaneOne, splitPaneTwo;
JLayeredPane layeredPane;
public MyWin(){
super("布局");
JButton b[]=new JButton[35];
for(int i=0; i<b.length; i++){
b[i] = new JButton("***");
}
JTextArea text = new JTextArea("Hello! Everyone");
setBounds(100,100,500,300);
setVisible(true);
tabbedPane =new JTabbedPane(JTabbedPane.LEFT);
FlowLayout flow =new FlowLayout(0,5,5);
//创建一FlowLayout的对象(控制组件左对齐,并有一定的水平、垂直间隙)。
flowLayoutPanel = new JPanel();
flowLayoutPanel.setLayout(flow);
// 设置flowLayoutPanel使用flow进行布局管理
for(int j=0;j<5;j++){
flowLayoutPanel.add(b[j]);
}
//将b[1], b[2], b[3], b[4], b[5]添加入容器flowLayoutPanel
tabbedPane.add("观看FlowLayout布局", flowLayoutPanel);
gridLayoutPanel = new JPanel();
GridLayout grid = new GridLayout(2,3);
//创建一GridLayout的对象(2行3列)。
gridLayoutPanel.setLayout(grid);
// 设置GridLayoutPanel使用grid进行布局管理
for(int j=5;j<11;j++){
gridLayoutPanel.add(b[j]);
}
//将b[6]~b[11]添加入容器gridLayoutPanel
tabbedPane.add("观看GridLayout布局", gridLayoutPanel);
borderLayoutPanel = new JPanel();
BorderLayout border = new BorderLayout(5,5);
//创建一BorderLayout的对象(并有一定的水平、垂直间隙)。
borderLayoutPanel.setLayout(border);
// 设置BorderLayoutPanel使用border进行布局管理
for(int j=11;j<15;j++){
borderLayoutPanel.add(b[j]);
}
borderLayoutPanel.add(text);
//将b[12]~b[15], text添加入容器borderLayoutPanel
tabbedPane.add("观看BorderLayout布局", borderLayoutPanel);
for(int j=16;j<22;j++){
boxLayoutPanel.add(b[j]);
}
//将b[16]~b[21]添加入容器boxLayoutPanel
tabbedPane.add("观看BoxLayout布局", boxLayoutPanel);
nullLayoutPanel = new JPanel();
nullLayoutPanel.setLayout(null);
//将nullLayoutPanel设为无布局管理
for(int j=22;j<26;j++){
flowLayoutPanel.add(b[j]);
b[j].setBounds(0,0,0,0);
}
tabbedPane.add("观看null布局", nullLayoutPanel);
splitPaneOne = new JSplitPane(JSplitPane.VERTICAL_SPLIT, b[27], b[28]);
splitPaneTwo = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, b[29], b[30]);
tabbedPane.add("观看JSplitPane1", splitPaneOne );
tabbedPane.add("观看JSplitPane2", splitPaneTwo );
//layeredPane = new JLayeredPane();
tabbedPane.validate();
Container con = getContentPane();
con.add(tabbedPane, BorderLayout.CENTER);
con.validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
public class myexample{
public static void main(String args[]){
new MyWin();
}
}
希望大家给看看,到底是哪里出错了:
import javax.swing.*;
import java.awt.*;
//import javax.swing.border.*;
class MyWin extends JFrame{
JTabbedPane tabbedPane;
JPanel flowLayoutPanel,gridLayoutPanel,borderLayoutPanel,nullLayoutPanel;
Box boxLayoutPanel;
JSplitPane splitPaneOne, splitPaneTwo;
JLayeredPane layeredPane;
public MyWin(){
super("布局");
JButton b[]=new JButton[35];
for(int i=0; i<b.length; i++){
b[i] = new JButton("***");
}
JTextArea text = new JTextArea("Hello! Everyone");
setBounds(100,100,500,300);
setVisible(true);
tabbedPane =new JTabbedPane(JTabbedPane.LEFT);
FlowLayout flow =new FlowLayout(0,5,5);
//创建一FlowLayout的对象(控制组件左对齐,并有一定的水平、垂直间隙)。
flowLayoutPanel = new JPanel();
flowLayoutPanel.setLayout(flow);
// 设置flowLayoutPanel使用flow进行布局管理
for(int j=0;j<5;j++){
flowLayoutPanel.add(b[j]);
}
//将b[1], b[2], b[3], b[4], b[5]添加入容器flowLayoutPanel
tabbedPane.add("观看FlowLayout布局", flowLayoutPanel);
gridLayoutPanel = new JPanel();
GridLayout grid = new GridLayout(2,3);
//创建一GridLayout的对象(2行3列)。
gridLayoutPanel.setLayout(grid);
// 设置GridLayoutPanel使用grid进行布局管理
for(int j=5;j<11;j++){
gridLayoutPanel.add(b[j]);
}
//将b[6]~b[11]添加入容器gridLayoutPanel
tabbedPane.add("观看GridLayout布局", gridLayoutPanel);
borderLayoutPanel = new JPanel();
BorderLayout border = new BorderLayout(5,5);
//创建一BorderLayout的对象(并有一定的水平、垂直间隙)。
borderLayoutPanel.setLayout(border);
// 设置BorderLayoutPanel使用border进行布局管理
for(int j=11;j<15;j++){
borderLayoutPanel.add(b[j]);
}
borderLayoutPanel.add(text);
//将b[12]~b[15], text添加入容器borderLayoutPanel
tabbedPane.add("观看BorderLayout布局", borderLayoutPanel);
for(int j=16;j<22;j++){
boxLayoutPanel.add(b[j]);
}
//将b[16]~b[21]添加入容器boxLayoutPanel
tabbedPane.add("观看BoxLayout布局", boxLayoutPanel);
nullLayoutPanel = new JPanel();
nullLayoutPanel.setLayout(null);
//将nullLayoutPanel设为无布局管理
for(int j=22;j<26;j++){
flowLayoutPanel.add(b[j]);
b[j].setBounds(0,0,0,0);
}
tabbedPane.add("观看null布局", nullLayoutPanel);
splitPaneOne = new JSplitPane(JSplitPane.VERTICAL_SPLIT, b[27], b[28]);
splitPaneTwo = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, b[29], b[30]);
tabbedPane.add("观看JSplitPane1", splitPaneOne );
tabbedPane.add("观看JSplitPane2", splitPaneTwo );
//layeredPane = new JLayeredPane();
tabbedPane.validate();
Container con = getContentPane();
con.add(tabbedPane, BorderLayout.CENTER);
con.validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
public class myexample{
public static void main(String args[]){
new MyWin();
}
}
boxLayoutPanel.add(b[j]);
}
//将b[16]~b[21]添加入容器boxLayoutPanel 这个boxLayoutPanel在使用前没有初始化!