请教一个Swing Java编程的“代码实现与预期不符”的故障原因. SwingJava GUI源代码Java 调试JLabel类 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 代码有些繁杂,界面布局相关的代码我看了下,没发现什么问题。你的代码里面有一些你自己的类,我本地也没法调试。我把界面模型单独抽了出来,测试了下:public class ATest extends javax.swing.JFrame { private JPanel northPanel; private JPanel centerPanel; private JPanel southPanel; public ATest() { setLayout(new BorderLayout()); initNorthPanel(); add(northPanel, BorderLayout.NORTH); initCenterPanel(); add(centerPanel, BorderLayout.CENTER); initSouthPanel(); add(southPanel, BorderLayout.SOUTH); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); pack(); } private void initNorthPanel(){ northPanel = new JPanel(); northPanel.setLayout(new GridLayout(1, 2)); JButton lastButton = new JButton("上一位"); JButton nextButton = new JButton("下一位"); northPanel.add(lastButton); northPanel.add(nextButton); } private void initCenterPanel(){ centerPanel = new JPanel(); centerPanel.setLayout(new GridLayout(1, 4)); JButton acceptButton = new JButton("接"); JButton waitButton = new JButton("等"); JButton refuseButton = new JButton("拒"); JButton endButton = new JButton("结"); centerPanel.add(acceptButton); centerPanel.add(waitButton); centerPanel.add(refuseButton); centerPanel.add(endButton); } private void initSouthPanel(){ southPanel = new JPanel(); southPanel.setLayout(new BorderLayout()); JLabel label = new JLabel("测试"); southPanel.add(label, BorderLayout.CENTER); } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new ATest().setVisible(true); } }); }显示正常:我建议你把界面跟业务拆分开来,方便维护和定位问题 建议:先不要使用你定义的static JLabel jL = new JLabel(),在需要添加jL的地方,new JLabel来替换jL。如果无法显示,看看是否是存放jlabel的容器宽度或者高度不够,或者是布局的问题。 返回泛型的class 问个简单的问题... 非作业贴,学了几天,遇到不会的了 千年难遇的问题!j2sdk装不了!求助! Jar文件签名问题 如何修改Swing默认风格? 新手,jBuilder数据库连接问题?(在线等待,谢谢) 用JBuilder7自带的向导生成.exe文件中不能显示中文? 请教哪有比较好的JBuilder6的教材可以下载?先谢了! 给定2个时间,如何计算他们之间的天数? BufferedReader读取大文件内存溢出问题 java静态变量问题
你的代码里面有一些你自己的类,我本地也没法调试。
我把界面模型单独抽了出来,测试了下:public class ATest extends javax.swing.JFrame { private JPanel northPanel;
private JPanel centerPanel;
private JPanel southPanel; public ATest() {
setLayout(new BorderLayout());
initNorthPanel();
add(northPanel, BorderLayout.NORTH);
initCenterPanel();
add(centerPanel, BorderLayout.CENTER);
initSouthPanel();
add(southPanel, BorderLayout.SOUTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
}
private void initNorthPanel(){
northPanel = new JPanel();
northPanel.setLayout(new GridLayout(1, 2));
JButton lastButton = new JButton("上一位");
JButton nextButton = new JButton("下一位");
northPanel.add(lastButton);
northPanel.add(nextButton);
}
private void initCenterPanel(){
centerPanel = new JPanel();
centerPanel.setLayout(new GridLayout(1, 4));
JButton acceptButton = new JButton("接");
JButton waitButton = new JButton("等");
JButton refuseButton = new JButton("拒");
JButton endButton = new JButton("结");
centerPanel.add(acceptButton);
centerPanel.add(waitButton);
centerPanel.add(refuseButton);
centerPanel.add(endButton);
}
private void initSouthPanel(){
southPanel = new JPanel();
southPanel.setLayout(new BorderLayout());
JLabel label = new JLabel("测试");
southPanel.add(label, BorderLayout.CENTER);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ATest().setVisible(true);
}
});
}显示正常:
我建议你把界面跟业务拆分开来,方便维护和定位问题
如果无法显示,看看是否是存放jlabel的容器宽度或者高度不够,或者是布局的问题。