- 浏览: 216186 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
chen569844962:
博主,你好,这个代码貌似不太完整,不知道能不能共享一下带我给我 ...
JTable 导出 Excel 利用 jxl.jar -
z995204127:
我去,发多了,太激动
【原创】swing 按钮点击 调用swt窗口(SWT浏览器)browser -
z995204127:
楼主,我去,太尼玛给力了,我搞了一天没搞定,原来要用一个线程包 ...
【原创】swing 按钮点击 调用swt窗口(SWT浏览器)browser -
z995204127:
楼主,我去,太尼玛给力了,我搞了一天,原来要用一个线程包装下。 ...
【原创】swing 按钮点击 调用swt窗口(SWT浏览器)browser -
changhuzhao:
好用!
org/eclipse/ui/internal/util/SWTResourceUtil
对于现实JDesktopPane 现实滚动条有如下方法:
package test; import javax.swing.*; public class TJInternalFrame extends JFrame { Container container; JButton button; JDesktopPane desktop; JInternalFrame internalFrame; static int frameCount = 0; static final int xOffSet = 1; static final int yOffSet = 150; // 1.Constructor of the frame class. public TJInternalFrame() { // 2.Give title to the frame and get its content pane super("TJInternalFrame"); container = this.getContentPane(); // 3.Create a button and add it at the lower portion of frame; // also add an action listener. button = new JButton("Click to Create More Internal Frames"); button.addActionListener(new ButtonListener()); container.add(button, BorderLayout.SOUTH); // 方法一:JDesktopPane显示滚动条!!!!!! // desktop = new JDesktopPane();// holds the internal frame // JScrollPane scrollPane = new JScrollPane(); // scrollPane.getViewport().setView(desktop); // // desktop.setPreferredSize(new Dimension(1600, 2200)); // very // important // // container.add(scrollPane);// add the desktop to the main frame // 方法二:JDesktopPane显示滚动条!需要新建一个JDesktopPane的继承类JDesktop。!!!!! // ================================================================ desktop = new JDesktop(); JScrollPane scrollpane = new JScrollPane(desktop, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); container.add(scrollpane); // ================================================================ createInternalFrame();// create an internal frame // 5.Add the window listener, set the frame size, default close // operation and make the frame visible. addWindowListener(new WindowEventHandler()); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); setSize(1060, 708); setVisible(true); } // 6.Creates an internal frame and adds it to the desktop pane. // Takes care of displaying frames with overlap offsets when called // multiple times. public void createInternalFrame() { // 7.Use a suitable internal frame constructor. JInternalFrame iFrame = new JInternalFrame("Internal Frame - " + frameCount, false, false, false, false); iFrame.setBorder(new SoftBevelBorder(BevelBorder.LOWERED, null, null, null, null)); ((BasicInternalFrameUI) iFrame.getUI()).setNorthPane(null); // 8.Set the location and size, and add it to the desktop pane. iFrame.setLocation(xOffSet * frameCount, yOffSet * frameCount); frameCount++; iFrame.setSize(800, 150); iFrame.setVisible(true); desktop.add(iFrame); // 9.Let the frame be selected. try { iFrame.setSelected(true); } catch (java.beans.PropertyVetoException e) { System.out.println("Exception while selecting an internal frame"); } } // 10.The button(action) listener. class ButtonListener implements ActionListener { public void actionPerformed(ActionEvent e) { createInternalFrame(); } } // 11.The listener class to handle closing of the frame. class WindowEventHandler extends WindowAdapter { public void windowClosing(WindowEvent evt) { System.exit(0); } } // 12.The main method. public static void main(String[] args) { String lookAndFeel = UIManager.getSystemLookAndFeelClassName(); try { UIManager.setLookAndFeel(lookAndFeel); } catch (Exception e) { e.printStackTrace(); } TJInternalFrame frame = new TJInternalFrame(); } }
JDesktopPane的继承类JDesktop
package test; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class JDesktop extends JDesktopPane { public void paint(Graphics g) { super.paint(g); Dimension d = preferredSizeOfAllFrames(); this.setPreferredSize(d); this.revalidate(); } /** * @return 返回最佳desktop尺寸.. */ public Dimension preferredSizeOfAllFrames() { JInternalFrame [] array = getAllFrames(); int maxX = 0; int maxY = 0; for (int i = 0; i < array.length; i++) { if ( array[ i ].isVisible() ) { int cx; cx = array[i].getX(); int x = cx + array[i].getWidth(); if (x > maxX) maxX = x; int cy; cy = array[i].getY(); int y = cy + array[i].getHeight(); if (y > maxY) maxY = y; } } return new Dimension(maxX, maxY); } }
发表评论
-
ubuntu jdk
2013-07-17 14:14 1455This is only a preview; cha ... -
Ubuntu 中安装 Eclipse
2013-07-17 13:44 1154b.Then righ-click t ... -
java sdk eclipse ubuntu
2013-06-28 23:50 916sudo rm /var/lib/dpkg/info/or ... -
ubuntu eclipse
2012-11-05 09:33 900ubuntu 12.04 eclipse 安装 ... -
ubuntu jdk java
2012-11-05 09:12 936第一步,下载jdk-7u4-linux-i586.tar ... -
jogl 拒绝访问Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError:
2012-08-29 11:15 1481Exception in thread "AWT-E ... -
rxtx
2012-07-14 11:39 0Using RXTX From Rxtx T ... -
hibernate mysql 远程连接问题 字符编码
2011-04-07 20:47 1397报错:Illegal mix of collations (l ... -
hibernate search 初始笑话
2011-01-16 11:18 1169安装官方的说明配置hibernate search , 才是 ... -
Hibernate access HQL 日期时间 Date 与oracle时的区别
2011-01-10 21:51 1544由oracle转access后,发现查询某段时间时报错,折腾了 ... -
Java Hibernate access
2011-01-09 20:26 1351现在想把开发完成的程序,弄个简化版,以前是Java Hiber ... -
程序中调用cmd命令时,参数带有空格的解决方法
2010-08-09 20:31 9044比如在程序中调用cmd命令打开一个文件,而文件路径带有 ... -
java 打包(fatjar)发布,制作安装文件(inno setup)
2010-08-09 18:27 2091使用fatjar 打包,新建空文件夹META-INF, 新建 ... -
Java:log4j与 log4j.properties的配置说明
2010-07-29 21:10 1028Java:log4j与log4j.properties的配置说 ... -
使用Fat Jar打包后 Uncaught error fetching image:
2010-07-29 19:55 2477一个错误困扰了好多天了, 在Eclipse里运行没有问题,使 ... -
Eclipse 工程复制粘贴后中文乱码问题
2010-06-04 22:53 1264今天遇到一个奇怪的问题,我想把eclipse工程复制一份然后备 ... -
jTextField的字符长度设为固定长度,超长不能输入 和 只能输入数字
2010-03-16 11:09 7926----------------------------- ... -
【原创】swing 按钮点击 调用swt窗口(SWT浏览器)browser
2010-03-11 14:00 3713网上搜索swing 和swt 都是关于两者的区 ... -
将swt窗口居中(屏幕中间)将swing窗口居中
2010-03-11 13:51 2874将swt窗口居中 Dimension dem=T ... -
java swt browser
2010-03-10 16:29 4760package cmsdb.common.tool; i ...
相关推荐
一个滚动窗格,它知道如何将滚动条添加到摆动的JDesktopPane组件。 长期以来,Swing的JDesktopPane一直存在一个已知问题。 如果JInternalFrame离开视口,则不会添加任何滚动条,并且您将失去“到达” ...
2. **添加滚动条支持**:可以通过将`JDesktopPane`置于一个带滚动条的容器中(如`JScrollPane`)来解决这一问题,确保即使`JInternalFrame`超出可视范围也能通过滚动条查看。 3. **实现自定义窗口菜单**:开发人员...
2. 滚动条面板(JScrollPane):当一个组件的内容超过了可视区域时,JScrollPane可以提供滚动条,使得用户能查看超出视区的部分。它可以包裹任何可滚动的组件,如JTable、JList或JTextArea。 3. 分隔条面板...
JScrollDesktopPane组件设计独特,将桌面环境与滚动条、菜单和快捷方式结合在一起,为应用程序带来动态和交互性的提升。 1. **JScrollDesktopPane组件介绍** JScrollDesktopPane是基于Java Swing库的一个扩展,它...
- JScrollPane:提供了带有滚动条的面板,当组件超出可视区域时可以滚动查看。 - JSplitPane:用于将容器拆分成多个窗格,用户可以调整各个窗格的大小。 - JTabbedPane:选项卡面板,可以实现多卡片界面的用户交互,...
15. JScrollBar, JSlider: 分别提供垂直和水平滚动条以及滑块组件,用于调整视图或数值。 16. JProgressBar: 显示任务的进度,例如文件传输或计算过程。 17. JFormattedTextField, JPasswordField: 前者允许格式化...
在Java中,Swing提供了大量组件,如按钮、文本框、滚动条、菜单等,帮助开发者构建这样的界面。 Swing组件是轻量级的,这意味着它们主要由Java代码实现,而不是依赖于操作系统提供的底层图形支持。这使得Swing应用...
6. **带滚动窗格的面板JScrollPane**:用于包含大型组件,如`JTextArea`,并提供滚动条。 7. **列表JList**:显示一组可选项目,用户只能选择单个或多个项。 8. **面板JPanel**:自定义组件容器,可以添加布局管理器...
Swing 提供了丰富的组件集,包括按钮、文本框、滚动条、菜单等,以及用于布局管理、事件处理和模型视图控制器模式的支持。 Swing 不依赖于操作系统的原生GUI库,而是使用Java自身的可移植实现。这使得Swing应用可以...
- JTextArea:用于多行文本输入,支持滚动条。 - JTable:展示二维数据,可以编辑和排序。 - JTree:显示层次结构数据,如文件系统目录结构。 2. **事件处理**: - Swing使用监听器模式处理用户交互。例如,...
JScrollPane添加滚动条,JSplitPane支持水平或垂直分割,JTabbedPane提供选项卡式布局。 **绘图** 在AWT中,我们使用paint(Graphics g)和update(Graphics g)方法进行绘图,而Swing提供了paintComponent(Graphics g)...
- **JScrollPane**: 滚动面板,为内容区域提供滚动条。 - **JList**: 用于显示列表数据。 ##### 2. 数据库交互 系统使用了JDBC技术来连接数据库,并执行SQL语句,实现了数据的存储和检索。 - **Class.forName()**: ...
- `JScrollPane`:用于添加滚动条以查看超出容器边界的内容。`JScrollPane()`和`JScrollPane(Component view)`是其构造方法。 - `JSplitPane`:允许用户调整两个区域的大小。`JSplitPane()`和`JSplitPane(int new...
1. AWT组件:按钮、文本字段、标签、面板、滚动窗格等的用法。 2. 事件处理:了解事件监听器和适配器,以及如何处理鼠标和键盘事件。 3. 布局管理器:理解FlowLayout、BorderLayout、GridLayout、CardLayout等,以及...
11.6.1 菜单条、菜单和菜单项 414 11.6.2 右键菜单 416 学生提问:为什么即使我没有给多行文本域编写右键菜单,但当我在多行文本域上单击右键时一样会弹出右键菜单? 418 11.7 在AWT中绘图 418 11.7.1 画图的...