- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Netbeans GUI Builder 创建一个 GUI 应用程序(所以所有生成的代码都是由 Netbeans 生成的)。
在预览设计中一切看起来都很好,但是当我运行应用程序时,JScrollPane 显示得很糟糕...
...如您所见,只有一半的滚动条可见。
我已经尝试使用我自己的方法为 JScrollPane 手动设置 JScrollBar:
jScrollPane1.setVerticalScrollBar(getScrollBarForScrollPane());
但这给出了这个结果......
也许我需要更改 JScrollBar 或 JScrollPane 上的某些属性?
我一直在研究这个问题,所以我希望有人能提供一些建议! :)
这是我的全部代码...
package uk.co.mobilewebexpert.myappmonitor;
import javax.swing.ImageIcon;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
public class MyAppMonitorJFrame extends javax.swing.JFrame {
private final ImageIcon greenIcon = new ImageIcon(getClass().getResource("/green_light.jpg"));
private final ImageIcon amberIcon = new ImageIcon(getClass().getResource("/amber_light.jpg"));
private final ImageIcon redIcon = new ImageIcon(getClass().getResource("/red_light.jpg"));
/**
* Creates new form MyAppMonitorJFrame
*/
public MyAppMonitorJFrame() {
initComponents();
DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
rightRenderer.setFont(new java.awt.Font("Tahoma", 1, 21));
for (int i = 0; i < jTable1.getColumnCount(); i++) {
jTable1.getColumn(jTable1.getColumnName(i)).setHeaderRenderer(rightRenderer);
jTable1.getColumn(jTable1.getColumnName(i)).setCellRenderer(rightRenderer);
}
//jTable1.getTableHeader().setFont(new java.awt.Font("Tahoma", 1, 11));
DefaultTableModel tableModel = (DefaultTableModel) jTable1.getModel();
tableModel.addRow(new Object[]{greenIcon, "2", "3", "4", "5", "6", "7"});
jScrollPane1.setInsets
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jLabel11 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jScrollPane2 = new javax.swing.JScrollPane();
jTextPane1 = new javax.swing.JTextPane();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("MYOB");
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Status Summary", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N
jLabel6.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel6.setText("Total");
jLabel6.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jLabel7.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/green_light_2.jpg"))); // NOI18N
jLabel7.setText("Online");
jLabel7.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
jLabel8.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/amber_light_2.jpg"))); // NOI18N
jLabel8.setText("Suspect");
jLabel8.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
jLabel9.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/red_light_2.jpg"))); // NOI18N
jLabel9.setText("Offline");
jLabel9.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
jLabel10.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel10.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("?");
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel2.setText("?");
jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel3.setText("?");
jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel4.setText("?");
jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel6, javax.swing.GroupLayout.DEFAULT_SIZE, 34, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel7, javax.swing.GroupLayout.DEFAULT_SIZE, 59, Short.MAX_VALUE)
.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel8, javax.swing.GroupLayout.DEFAULT_SIZE, 69, Short.MAX_VALUE)
.addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel9, javax.swing.GroupLayout.DEFAULT_SIZE, 60, Short.MAX_VALUE)
.addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, 10, Short.MAX_VALUE))
.addContainerGap()));
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(jLabel7)
.addComponent(jLabel8)
.addComponent(jLabel9)
.addComponent(jLabel10))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jLabel2)
.addComponent(jLabel3)
.addComponent(jLabel4)
.addComponent(jLabel5))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Search", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N
jLabel11.setText("Enter device serial number");
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});
jButton1.setText("Go");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jLabel11)
.addGap(0, 0, Short.MAX_VALUE))
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jTextField1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1)))
.addContainerGap()));
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel11)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton1))));
jScrollPane1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Device Details", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N
jScrollPane1.setVerticalScrollBar(getScrollBarForScrollPane());
jTable1.setBackground(new java.awt.Color(254, 254, 254));
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object[][]{
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null}
},
new String[]{
"Serial Number", "Device Name", "Status", "Current Uptime", "Current Downtime", "Last Known Uptime"
}));
jTable1.setGridColor(new java.awt.Color(254, 254, 254));
jTable1.setShowHorizontalLines(false);
jTable1.setShowVerticalLines(false);
jScrollPane1.setViewportView(jTable1);
jScrollPane2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Log", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N
jScrollPane2.setViewportView(jTextPane1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jScrollPane2))
.addContainerGap()));
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 328, Short.MAX_VALUE)
.addContainerGap()));
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(MyAppMonitorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(MyAppMonitorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(MyAppMonitorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(MyAppMonitorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MyAppMonitorJFrame().setVisible(true);
}
});
}
public javax.swing.JScrollBar getScrollBarForScrollPane() {
int width = 50; //set extremely large to exaggerate the issue
javax.swing.JScrollBar jScrollBar = new javax.swing.JScrollBar(javax.swing.JScrollBar.VERTICAL);
jScrollBar.setPreferredSize(new java.awt.Dimension(width, Integer.MAX_VALUE));
return jScrollBar;
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTable jTable1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextPane jTextPane1;
// End of variables declaration
}
最佳答案
如您在此快照中所见 from the reference ,你的滚动条是完美的:
关于java - JScrollPane 垂直滚动条太宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15143902/
我编写了以下代码,它是一个简单的窗口,顶部有一个 JLabel header 。代码如下: import java.awt.Color; import java.awt.Font; import ja
我正在尝试将 JList 添加到我的布局(2 列布局)中。添加后,它使其整个列占据父 JFrame 的整个宽度: LwjglCanvas c = new LwjglCanvas(blah); c.ge
将 Slickgrid 添加到 table-cell 样式的 div 时,除非为该 div 指定最大宽度,否则网格会变得过宽>。网格似乎也在右侧获得了一个幻影列。 是否可以使 Slickgrid 在这
在此site page您可以看到页面中间的表格太宽并且超出了它的父 div。 如何纠正?任何建议! 最佳答案 您需要减少表中内容的大小和/或数量。如果表格已经处于包含内容的最小宽度,那么再多的 css
我的widget结构如下:QToolBar 添加了一个 QTabBar,并在 TabBar 之后添加了一个 QToolButton。 默认情况下,只会打开一个选项卡,ToolButton 可以打开更多
我有这个 div: I am cool I am cool I am cool I am cool 使用这个 CSS: #content{ height:a
我的 WPF 上下文菜单有问题。菜单太宽了——它是我放在上面的项目的宽度,再加上大约五百个像素。因此,当您打开菜单时,不是一个干净的选项或按钮列表,而是每一侧都有大量的灰色空间。我该如何解决这个问题?
在 InDesign 中,我使用 Google 字体 Kadwa 生成右箭头 (→)。 我将字体加载到我的网站,但箭头太宽。 @import url('https://fonts.googleapis
我刚刚使用 WordPress“Theron'Lite”主题完成了我的网站。 我已经在我的页面中添加了一个自定义的滚动框。主题在我的 PC 上看起来很棒,但是在我的移动设备上,滚动框太宽并且超出了页面
Link to site /*Align width 1170px*/ .align-1170{ height: 100%; width: 1170px; margin: 0
http://jsfiddle.net/Yn7e7 由于某些原因,“.ep”div 的 1 个像素太宽仅在“.heading”容器中,导致标题流到下一行。对于通过 php 动态生成的内容,我将其放入“
我有两个 div,每个 div 包含另外两个 div。一个包含 DIV 的显示设置为无。我有一个按钮可以切换包含的 DIV,因此我可以交替隐藏/显示包含的 div,从而隐藏/显示里面的两个 div。内
我有一个 UINavigationBar 和一个 UIToolbar(在不同的 View 中),它们包含按钮和灵活的空间。 UIBarButtonItems 的背景设置如下: bgImage = [[
我在我的页面上放了一个 Facebook 赞按钮。 “赞”按钮的右侧是“推文”按钮。 我已经将点赞按钮(带有发送按钮)的数据宽度设置为 101px,这似乎是正确的。 问题是点赞按钮生成一个 150 像
我遇到了 bootstrap 3.0.0 的问题 我有一个如下所示的网格系统: 此图像与 col-md-2 一起使用: 此图像带有 col-md-1: 因此 col-md-2 太宽而 col-md-1
我正在尝试创建一个可滚动的 JTextPane 来显示 HTML。除了尝试调整尺寸之外,我让它正常工作。看来无论我做什么,我都无法影响 Pane 的宽度。 JTextPane tp=new JText
您可以使用 layout_gravity 或 gravity 进行文本居中。使用 layout_gravity: 短文本将显示为: [ Hello ] 长时间的拉
在 Google Maps v3 中,我似乎无法将 infoWindow 设置为小于 200px 的宽度。这是我正在使用的代码: var latlng = new google.maps.LatLng
我想构建一个水平旋转木马。没有图片,只有简单的文字。我想要轮播中的 27 个元素。我正在考虑将它们全部画进去。我希望能够(优雅地)从第 1 项滚动到第 27 项,或者在轮播中的任何其他 2 项之间滚动
我有一段 HTML,当我尝试打印它时(在 Chrome 或 Safari 中),表格只是被切断,而不是跨越多个页面。 有人对此有解决方法吗?或者我可以应用一些 CSS 来修复它?
我是一名优秀的程序员,十分优秀!