一个显示在界面上的控件如何知道自己是否被完整显示了? rt 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 能否再具体一点?什么样的情况可以被视为“完整显示”?如果只是简单的期望知道是否显示,可以使用xxx.isVisible(),来确定其是否被显示。 谢谢楼上的回复,比如说,有一个JTable有1000行,JTable里的每一个cell都放着一个JTextField,但是屏幕上只能显示前100行,当我遍历所有的放在JTable里的JTextField,如何判断这个JTextField已经显示在了屏幕上(所有的JTextField的isVisible属性都是true) 组件重叠是一种不完整的显示isOptimizedDrawingEnabled() // 如果此组件平铺显示其子组件(也就是它可保证子组件不重叠),则返回 true 我主要是想解决下面的问题,你运行一下下面的程序,然后点击十几次"add Button"按钮,就会出现无法显示后面的按钮的情况,为什么BoxLayout不能自动换行呢?如何让Layout有自动换行显示控件?import java.awt.BorderLayout;import java.awt.Button;import java.awt.Container;import java.awt.Dimension;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.BoxLayout;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;public class TabbedPaneTest extends JFrame { public TabbedPaneTest() { Container cp = getContentPane(); cp.setLayout(new BorderLayout()); final JPanel tabbedPane = new JPanel(); tabbedPane.setLayout(new BoxLayout(tabbedPane, BoxLayout.X_AXIS)); cp.add(tabbedPane,BorderLayout.CENTER); Button addBtn = new Button("add Button"); addBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tabbedPane.add(new JButton("test")); tabbedPane.updateUI(); tabbedPane.repaint(); } }); cp.add(addBtn,BorderLayout.SOUTH); init(500, 200); } public static void main(String[] args) { new TabbedPaneTest(); } private void setDefault() { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); setLocation((screenSize.width - getWidth()) / 2, (screenSize.height - getHeight()) / 2); setVisible(true); } public void init(int width, int height) { setSize(width, height); setDefault(); addDefaultListener(); } private void addDefaultListener() { addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { dispose(); } }); }} BoxLayout不具备自动换行功能,用FlowLayout吧 关于访问权限 friendly的问题 关于乱码的问题。 JAVA如何读取图片的长和宽 hibernate 调用save()方法时异常 什么原因啊 ArrayIndexOutOfBounds异常,如何解决?有源程序 作用域 显示一个窗体 在窗体中作侧添加树 怎样对JTREE进行监听事件 在线等待,急~~~~~~~~关于用java播放声音的问题 JAVA里面提供的流太多种了,有什么节字流,什么数据流,什么……流等等,这些流都有什么差别啊?我觉得好像都一样啊。都是用读写啊 jacob使用的一点疑问,请高手指点! 请问大家 程序员可不可以自己编软件卖 请问什么是对象之间的循环引用
如果只是简单的期望知道是否显示,可以使用xxx.isVisible(),来确定其是否被显示。
isOptimizedDrawingEnabled() // 如果此组件平铺显示其子组件(也就是它可保证子组件不重叠),则返回 true
import java.awt.Button;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;public class TabbedPaneTest extends JFrame { public TabbedPaneTest() {
Container cp = getContentPane();
cp.setLayout(new BorderLayout()); final JPanel tabbedPane = new JPanel();
tabbedPane.setLayout(new BoxLayout(tabbedPane, BoxLayout.X_AXIS));
cp.add(tabbedPane,BorderLayout.CENTER); Button addBtn = new Button("add Button");
addBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tabbedPane.add(new JButton("test"));
tabbedPane.updateUI();
tabbedPane.repaint();
}
});
cp.add(addBtn,BorderLayout.SOUTH);
init(500, 200);
} public static void main(String[] args) {
new TabbedPaneTest();
} private void setDefault() {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screenSize.width - getWidth()) / 2,
(screenSize.height - getHeight()) / 2);
setVisible(true); } public void init(int width, int height) {
setSize(width, height);
setDefault();
addDefaultListener();
} private void addDefaultListener() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
}
});
}}