ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何在具有空布局的 JPanel 中添加 JTable?

2022-02-20 16:02:18  阅读:198  来源: 互联网

标签:frame swing JTable JPanel 添加 import new javax


注:本文转自《白煮蛋的博客》 

首先,您应该认真考虑其他布局管理器,例如 BorderLayoutManager (new JPanel(new BorderLayout())) 是一个好的开始。

此外,在设计对话框时,请记住您可以并且应该嵌套布局:一个 JPanel 位于另一个 JPanel 中(例如,GridLayout 位于 BorderLayout 中)。请注意:一个“好的”对话框应该适当调整大小,这样如果用户调整您的框架大小,您希望自动扩展您的信息对象,例如您的表格,而不是显示大面积的 JPanel 背景。这是使用 NullLayout 无法实现的。

但可能有一些情况——在这个大世界的某个地方——NullLayout 就是这样。所以这里有一个例子:

<span style="background-color:var(--highlight-bg)"><span style="color:var(--highlight-color)"><code class="language-java"><span style="color:var(--highlight-keyword)">import</span> java.awt.Dimension;
<span style="color:var(--highlight-keyword)">import</span> javax.swing.JFrame;
<span style="color:var(--highlight-keyword)">import</span> javax.swing.JPanel;
<span style="color:var(--highlight-keyword)">import</span> javax.swing.JScrollPane;
<span style="color:var(--highlight-keyword)">import</span> javax.swing.JTable;
<span style="color:var(--highlight-keyword)">import</span> javax.swing.table.DefaultTableModel;

<span style="color:var(--highlight-keyword)">public</span> <span style="color:var(--highlight-keyword)">class</span> <span style="color:var(--highlight-literal)">JTableInNullLayout</span>
{
  <span style="color:var(--highlight-keyword)">public</span> <span style="color:var(--highlight-keyword)">static</span> <span style="color:var(--highlight-keyword)">void</span> <span style="color:var(--highlight-literal)">main</span>(String[] argv) <span style="color:var(--highlight-keyword)">throws</span> Exception {

      <span style="color:var(--highlight-namespace)">DefaultTableModel</span> <span style="color:var(--highlight-variable)">model</span> = <span style="color:var(--highlight-keyword)">new</span> <span style="color:var(--highlight-literal)">DefaultTableModel</span>(
          <span style="color:var(--highlight-keyword)">new</span> <span style="color:var(--highlight-literal)">String</span>[][] { { <span style="color:var(--highlight-variable)">"a"</span>, <span style="color:var(--highlight-variable)">"123"</span>} , {<span style="color:var(--highlight-variable)">"b"</span>, <span style="color:var(--highlight-variable)">"456"</span>} }, 
          <span style="color:var(--highlight-keyword)">new</span> <span style="color:var(--highlight-literal)">String</span>[] { <span style="color:var(--highlight-variable)">"name"</span>, <span style="color:var(--highlight-variable)">"value"</span> } );

      <span style="color:var(--highlight-namespace)">JTable</span> <span style="color:var(--highlight-variable)">t</span> = <span style="color:var(--highlight-keyword)">new</span> <span style="color:var(--highlight-literal)">JTable</span>(model);

      <span style="color:var(--highlight-namespace)">JPanel</span> <span style="color:var(--highlight-variable)">panel</span> = <span style="color:var(--highlight-keyword)">new</span> <span style="color:var(--highlight-literal)">JPanel</span>(<span style="color:var(--highlight-literal)">null</span>);

      <span style="color:var(--highlight-namespace)">JScrollPane</span> <span style="color:var(--highlight-variable)">scroll</span> = <span style="color:var(--highlight-keyword)">new</span> <span style="color:var(--highlight-literal)">JScrollPane</span>(t);
      scroll.setBounds( <span style="color:var(--highlight-namespace)">0</span>, <span style="color:var(--highlight-namespace)">20</span>, <span style="color:var(--highlight-namespace)">150</span>, <span style="color:var(--highlight-namespace)">100</span> ); <span style="color:var(--highlight-comment)">// x, y, width, height</span>
      panel.add(scroll);

      <span style="color:var(--highlight-namespace)">JFrame</span> <span style="color:var(--highlight-variable)">frame</span> = <span style="color:var(--highlight-keyword)">new</span> <span style="color:var(--highlight-literal)">JFrame</span>();
      frame.add(panel);
      frame.setPreferredSize( <span style="color:var(--highlight-keyword)">new</span> <span style="color:var(--highlight-literal)">Dimension</span>(<span style="color:var(--highlight-namespace)">200</span>,<span style="color:var(--highlight-namespace)">200</span>));
      frame.pack();
      frame.setVisible(<span style="color:var(--highlight-literal)">true</span>);
  }
}</code></span></span>

标签:frame,swing,JTable,JPanel,添加,import,new,javax
来源: https://blog.csdn.net/wuxiaopengnihao1/article/details/123031811

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有