Java Swing – JTable没有显示
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java Swing – JTable没有显示,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2716字,纯文字阅读大概需要4分钟。
内容图文
我在使用Java Swing时遇到了一些麻烦.
我正在尝试使用顶部的控制面板制作一个框架,其中包含一些按钮.
以下我希望JTable显示
我一直在尝试,但桌子没有显示.
如果我删除顶部的controlPanel,它有时显示,有时不显示.
我在我的JTable的构造函数中使用的代码在同一个应用程序中提供,
所以它没有网络错误
public ServerMainFrame(GuiController gc){
this.gc = gc;
initGUI();
}
private void initGUI() {
System.out.println("initiating GUI");
createFrame();
addContentPanel();
addControls();
//openPopUpServerSettings();
addSongTable();
}
private void createFrame()
{
this.setTitle("AudioBuddy 0.1");
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(800, 600);
this.setResizable(false);
this.setLocationRelativeTo(null);
}
private void addContentPanel()
{
JPanel p = new JPanel();
p.setLayout(new FlowLayout());
p.setSize(new Dimension(800, 600));
this.setContentPane(p);
}
private void addControls()
{
JPanel controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout());
controlPanel.setBorder(BorderFactory.createLineBorder(Color.black));
controlPanel.setSize(700,100);
// Buttons
JButton play = new JButton("Play");
JButton pause = new JButton("Pause");
JButton stop = new JButton ("Stop");
JButton next = new JButton("Next");
JButton prev = new JButton("Previous");
controlPanel.add(play);
controlPanel.add(pause);
controlPanel.add(stop);
controlPanel.add(next);
controlPanel.add(prev);
// Currently playing
JLabel playing = new JLabel("Currently playing:");
controlPanel.add(playing);
JLabel current = new JLabel("Johnny Cash - Mean as Hell");
controlPanel.add(current);
this.getContentPane().add(controlPanel);
}
private void addSongTable()
{
JTable songTable = new JTable(Server.getSongTableModel());
songTable.setVisible(true);
JPanel tablePanel = new JPanel();
tablePanel.setVisible(true);
tablePanel.add(songTable);
songTable.repaint();
this.getContentPane().add(tablePanel);
JButton btnMulticastList = new JButton("send list to clients");
btnMulticastList.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
Server.MulticastPlaylist();
}
});
getContentPane().add(btnMulticastList);
}
解决方法:
if I remove the controlPanel at the top, it sometimes shows and
sometimes not.
>一切都隐藏在Server.getSongTableModel()中,没有人知道没有发布带有硬编码值的SSCCE
> GUI与Concurency in Swing有问题
> XxxModel持续加载数据与构建GUi,然后异常导致描述的问题
The code that I use inside my constructor of my JTable is provided in
the same application, so it’s no network error
>不知道你在说什么
>必须创建一个空GUI,见InitialTread
>显示GUI,然后开始将数据加载到JTable
>然后从SwingWorker或(描述网络问题)启动工作线程(Backgroung任务)更好Runnable #Thread(用于捕获异常和处理单独线程的confortable)
>从Runnable到Swing GUI的输出必须包装到invokeLater()中
内容总结
以上是互联网集市为您收集整理的Java Swing – JTable没有显示全部内容,希望文章能够帮你解决Java Swing – JTable没有显示所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。