Java 如何使拐角组件在JScrollPane中始终可见
给定 无论JTable是否为空,如何使cornerButton始终可见 我看到SwingX中的JXTable实现了这一点,但是,我无法从源代码中解释它是如何实现的 谢谢 我的问题是JScrollPane仅在ScrollPane的列标题视口中有内容时才显示按钮 我认为这是问题的一半。视口中需要一个组件来占用一些空间 我试着在那里放一个空的JPanel,但似乎不起作用 尝试在视口中使用空JPanel以及列标题中的面板:Java 如何使拐角组件在JScrollPane中始终可见,java,swing,jbutton,jscrollpane,jscrollbar,Java,Swing,Jbutton,Jscrollpane,Jscrollbar,给定 无论JTable是否为空,如何使cornerButton始终可见 我看到SwingX中的JXTable实现了这一点,但是,我无法从源代码中解释它是如何实现的 谢谢 我的问题是JScrollPane仅在ScrollPane的列标题视口中有内容时才显示按钮 我认为这是问题的一半。视口中需要一个组件来占用一些空间 我试着在那里放一个空的JPanel,但似乎不起作用 尝试在视口中使用空JPanel以及列标题中的面板: import javax.swing.*; public class Test
import javax.swing.*;
public class TestCornerComponent {
public static void main(String args[]) {
JTable table = new JTable();
final JScrollPane scrollPane = new JScrollPane(table);
/* button to put in corner */
JButton cornerButton = new JButton("#");
scrollPane.setCorner(JScrollPane.UPPER_TRAILING_CORNER,
cornerButton);
scrollPane.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame("Test corner component");
frame.getContentPane().add(scrollPane);
frame.setVisible(true);
}
});
}
}
我的问题是JScrollPane仅在ScrollPane的列标题视口中有内容时才显示按钮
我认为这是问题的一半。视口中需要一个组件来占用一些空间
我试着在那里放一个空的JPanel,但似乎不起作用
尝试在视口中使用空JPanel以及列标题中的面板:
import javax.swing.*;
public class TestCornerComponent {
public static void main(String args[]) {
JTable table = new JTable();
final JScrollPane scrollPane = new JScrollPane(table);
/* button to put in corner */
JButton cornerButton = new JButton("#");
scrollPane.setCorner(JScrollPane.UPPER_TRAILING_CORNER,
cornerButton);
scrollPane.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame("Test corner component");
frame.getContentPane().add(scrollPane);
frame.setVisible(true);
}
});
}
}
好的,这只有在JScrollBar可见的情况下才可能。谢谢你的建议,但是,这就是为什么我添加了scrollPane.setVerticalScrollBarPolicyJScrollPane.VERTICAL\u SCROLLBAR\u ALWAYS;。我的问题是JScrollPane仅在ScrollPane的列标题视口中有内容时才显示按钮。我尝试过在其中放置一个空的JPanel,但似乎不起作用。同意没有JTableHeader可能不起作用,但是有没有理由创建一个没有JTableHeader的JTable空JTable,如SSCE+1中所示,如果是,则不容易,决不要对类似Excel中的自定义透视表进行编辑,这样,如果没有选择要透视的列,则该表为空。我会继续找的。再次感谢您的帮助。好的,这只有在JScrollBar可见的情况下才可能。谢谢您的建议,但是,这就是为什么我添加了scrollPane.setVerticalScrollBarPolicyJScrollPane.VERTICAL\u SCROLLBAR\u ALWAYS;。我的问题是JScrollPane仅在ScrollPane的列标题视口中有内容时才显示按钮。我尝试过在其中放置一个空的JPanel,但似乎不起作用。同意没有JTableHeader可能不起作用,但是有没有理由创建一个没有JTableHeader的JTable空JTable,如SSCE+1中所示,如果是,则不容易,决不要对类似Excel中的自定义透视表进行编辑,这样,如果没有选择要透视的列,则该表为空。我会继续找的。再次感谢你的帮助,太好了!设置首选尺寸是我所缺少的!非常感谢。太好了!设置首选尺寸是我所缺少的!非常感谢。