`
麦田守望者
  • 浏览: 22703 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

为什么JScrollPane不能够被显示出来?

阅读更多
最近碰到一个棘手的问题写了一个swing程序,用到JCrollPane组建,初始是调用其setVisible(false),在程序的后端会在调用其setVisible(true),但是不能显示出来,不知道是何缘故!

下面是程序代码:
public class AlertFrame extends JFrame implements ActionListener{

private static final long serialVersionUID = 1L;
private static int count = 1;
private JTextArea detailTxa;
private JScrollPane jScrollPane1;
private JLabel errolLbl;
private JButton cancelBtn;
private JButton detailBtn;
private String simpleMsg = "";
private String detailMsg = "";
public AlertFrame(){
super();
}
public AlertFrame(String simpleMsg,String detailMsg){
super("系统消息");
this.simpleMsg = simpleMsg;
this.detailMsg = detailMsg;
init();

}
public void init(){
WindowUtilities.setNativeLookAndFeel();
setSize(480,260);
setResizable(true);
Box box = new Box(BoxLayout.Y_AXIS);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setLayout(new BorderLayout());
JPanel centerPanel = new JPanel(new BorderLayout());
Box centerBox = new Box(BoxLayout.X_AXIS);
centerBox.add(new JLabel("          "));
errolLbl = new JLabel(simpleMsg);
centerBox.add(errolLbl);
centerBox.add(new JLabel(" "));
JLabel titleLbl = new JLabel("  系统消息  ");
centerPanel.add(centerBox, BorderLayout.CENTER);
centerPanel.add(titleLbl, BorderLayout.NORTH);
JPanel bottomPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
cancelBtn = new JButton("   取消   ");
cancelBtn.addActionListener(this);
detailBtn = new JButton("详细信息>>");
detailBtn.addActionListener(this);
bottomPanel.add(cancelBtn);
bottomPanel.add(detailBtn);
centerPanel.add(bottomPanel , BorderLayout.SOUTH);
detailTxa = new JTextArea(10,25);
detailTxa.setText(detailMsg);
detailTxa.setVisible(false);

jScrollPane1 = new JScrollPane(detailTxa);  
jScrollPane1.setVisible(false);
box.add(centerPanel);
box.add(jScrollPane1);
this.add(box);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == cancelBtn){
this.dispose();
}else{
if((count%2) == 0){
this.jScrollPane1.setVisible(false);
count++;
}
else{
this.jScrollPane1.setVisible(true);
count++;
}
}
}
}
分享到:
评论
1 楼 insiku 2008-07-07  
validate
public void validate()验证此容器及其所有子组件。
使用 validate 方法会使容器再次布置其子组件。已经显示容器后,在修改此容器的子组件的时候(在容器中添加或移除组件,或者更改与布局相关的信息),应该调用上述方法。

如果此 Container 无效,则此方法将调用 validateTree 方法,并将此 Container 标记为有效。否则不执行任何动作。

相关推荐

    jScrollPane

    在默认情况下,浏览器会自动生成并显示滚动条,但这些滚动条通常样式单一且不可定制。jScrollPane 提供了一个优雅的解决方案,允许开发者通过CSS样式来美化网页中的滚动条,使其与整体设计更协调,提升用户体验。 #...

    JScrollPane 滚动条 例子

    总的来说,`JScrollPane`是Java Swing中不可或缺的一部分,它为用户提供了一种优雅的方式来处理那些内容超过视图范围的组件。通过熟练掌握`JScrollPane`的用法,开发者可以构建出更具有交互性和易用性的Java图形用户...

    jScrollPane2.0

    这个插件在很多实际应用场景中都显示出了其价值,特别是在网页设计和开发过程中,能够帮助开发者改善用户界面的视觉效果,使滚动操作更加优雅。 在传统的浏览器默认设置下,滚动条通常是操作系统提供的默认样式,这...

    jQuery滚动条插件 jScrollPane

    jQuery的jScrollPane是一个高度可定制的滚动条插件,它允许开发者通过CSS样式来...通过掌握以上知识点,你将能够有效地利用jScrollPane插件为你的项目创建出优雅、个性化的滚动条效果,提升网站的整体质感和用户体验。

    JScrollPane设置透明

    设置透明并不意味着组件不可见,而是指组件的背景颜色不会被绘制。如果希望组件完全不可见,需要将组件的可见性设置为`false`,即`setVisible(false)`。 6. **注意点**: - 当设置`JScrollPane`及其`JViewport`...

    jquery jscrollpane.js滚动窗口微信聊天对话框

    在微信聊天对话框的场景中,jscrollpane.js能够帮助我们创建一个流畅且美观的滚动效果,使得用户可以轻松浏览长长的聊天记录。 首先,我们需要在项目中引入jQuery库和jscrollpane.js插件。通常,我们会通过CDN链接...

    工作中用到的滚动条 jscrollpane以及整理

    如果希望始终显示滚动条,可以设置为ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS和ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS。 对于样式自定义,我们可以使用UIManager类来更改全局滚动条的外观,或者...

    Java常用面板之JScrollPane滚动面板实例详解

    它能够自动地为包含的组件添加滚动条,简化了开发者的工作。使用时需要注意的是JScrollPane只接受一个组件作为直接子组件,如果需要组织多个组件,则应该将它们组织在另一个容器中,然后将该容器作为单个组件添加到...

    JTble使用不显示表头的问题

    4. **启用表头显示**:有时候,表头不显示可能是由于表头的高度设置为零或者`JTable`的`showHorizontalHeader`属性被错误地设置为`false`。确保这些属性设置正确,以启用表头的显示。 ### 示例代码修正 基于以上...

    用Java程序读取Excel表格内容并显示在Swing中

    JScrollPane scrollPane = new JScrollPane(table); JFrame frame = new JFrame("Excel Viewer"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(scrollPane); frame....

    学会用JScrollPane和Jtable以及table的Defaulttablemodel*

    `JScrollPane`是一个可以滚动的面板,当表格内容较多时,使用`JScrollPane`可以实现滚动浏览的功能,避免窗口过大导致布局不合理。 #### 三、具体实现步骤 ##### 步骤1:创建基础框架 首先创建一个继承自`JFrame`...

    swing组件JScrollPane滚动条实例代码

    在这个例子中,JTextArea被设置到JScrollPane的viewport中,并通过设置垂直和水平滚动条策略来控制滚动条的显示。 实例代码2中展示了如何使用JScrollPane来处理更复杂的界面布局。它创建了一个带有BorderLayout布局...

    往(jscrollPanel)动态添加组件

    在本例中,`JPanel` 的大小被设置为 `400x300`,而 `JScrollPane` 的大小被设置为 `300x200`。这意味着 `JPanel` 的内容超出了 `JScrollPane` 的大小,但 `JScrollPane` 的大小并未根据 `JPanel` 的内容进行调整。 ...

    table

    JTable被放在一个JScrollPane中,以便于滚动查看数据。 8. **自定义功能**:除了基本的展示数据,JTable还支持排序、过滤、分页等高级功能。你可以通过设置SortKeys、安装TableFilter或使用JTable的API方法来实现...

    透明JScollPane

    有时我们可能希望`JScrollPane`具有透明背景,以便能够显示其后面的组件或背景图像。然而,在实际操作过程中可能会遇到设置`.setOpaque(false)`后`JScrollPane`仍然不透明的情况。本文将详细探讨如何实现`...

    swing中的滚动条.doc

    通过使用`JScrollPane`,开发者可以确保用户能够轻松地浏览和交互那些不能完全显示在屏幕上的数据。在这个具体的例子中,`JTextArea`和两个不同的`JList`都通过`JScrollPane`获得了滚动功能,从而实现了更灵活的用户...

    显示图片滚动条一例

    在这个例子中,图片容器的宽度和高度被限制,当图片尺寸超过这些限制时,`overflow: auto`会自动显示滚动条。 在桌面应用开发中,如使用Java Swing或JavaFX,我们可以利用组件的属性来添加滚动条。例如,使用`...

    Swing下滚动条实现仿分页

    JScrollPane是Swing提供的一种容器,它能够添加一个可滚动的视图,如JTable。JScrollPane包括水平和垂直滚动条,可以根据内容大小自动调整。在我们的场景中,JScrollPane将包含JTable,并且当数据超过可视区域时,...

    Java实现人民币大写+GUI界面

    这个功能有助于避免因数字输入错误引发的潜在问题,因为汉字的大写金额比阿拉伯数字更不容易被篡改。下面我们将深入探讨如何实现这一功能。 首先,我们需要理解人民币大写转换的基本规则。人民币大写的表示方式有...

Global site tag (gtag.js) - Google Analytics