最近几个月尽弄swing了,对于一些不是很常用的设计、配置用起来着实走了不少弯路啊,这里记录一下,免得再在同一个地方再摔倒。
1、设置窗口的图标
默认的Jframe左上角的图标时Java的咖啡杯图标,以下代码用来自定义图标:
String logoFilePath = "/icon/a.png";//图标目录 JFrame jFrame=new JFrame(frameTitle); ImageIcon imageIcon = new ImageIcon(this.getClass().getResource(logoFilePath)); java.awt.Image image = imageIcon.getImage(); jFrame.setIconImage(image);
图标最好不要弄成ico格式的,我测试过好几次,每次都像没有设置一样,jpeg、jpg、png格式最好。
2、窗口带有滚动条
swing里面有个滚动条的控件,叫JScrollPane,把显示的控件放到这个控件里面,当数据过多时会自动出现滚动条,如下面的代码:
JScrollPane scrl = new JScrollPane(jPanel,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
在将JScrollPane放到Frame中:
JFrame jFrame=new JFrame(frameTitle); Container cont = jFrame.getContentPane(); //添加到带有滚动条的panel JScrollPane scrl = new JScrollPane(jPanel,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); cont.add(scrl); jFrame.setVisible(true);//可见
第一个参数:需要放到JScrollPane控件中的内容,我这里是一个Jpanel,所有的东西都放在这个Jpanel上,然后将JPanel放在JScrollPane里面。
第二个参数:设置垂直滚动条的显示方式,有五种方式
VERTICAL_SCROLLBAR_ALWAYS:一直显示
VERTICAL_SCROLLBAR_AS_NEEDED:需要的时候显示,类似于自动
VERTICAL_SCROLLBAR_NEVER:从来不显示
VERTICAL_SCROLLBAR
VERTICAL_SCROLLBAR_POLICY
第三个参数:设置水平滚动条的显示方式,也有五种,类型垂直滚动条的方式。
以上设置完了之后,滚动条会出来,但是没有滑块,也就是不能上下滑动,还需要设置一下放在里面的panel的宽和高。如下:
//设置大小(必须设置,否则不会出现滚动条滑块) jPanel.setPreferredSize(new Dimension(530, 1070));
第一个参数:宽度,当放在JScrollPane中的内容的宽大超过该宽度且设置为允许横向滚动条出现时就会出现横向滚动条,否则不出现;
第二参数:高度,出现条件同横向滚动条
3、设置背景色
这个比较简单:jPanel.setBackground(new Color(r,g,b));但是我们通常拿到的都是16进制的数据,类似于5a9bd5这种的,而设置背景的时候需要的是rgb三原色的数值,因此需要转化一下。
/** * Color对象转换成字符串 * @param color Color对象 * @return 16进制颜色字符串 * */ public static String toHexFromColor(Color color){ String r,g,b; StringBuilder su = new StringBuilder(); r = Integer.toHexString(color.getRed()); g = Integer.toHexString(color.getGreen()); b = Integer.toHexString(color.getBlue()); r = r.length() == 1 ? "0" + r : r; g = g.length() ==1 ? "0" +g : g; b = b.length() == 1 ? "0" + b : b; r = r.toUpperCase(); g = g.toUpperCase(); b = b.toUpperCase(); su.append("0xFF"); su.append(r); su.append(g); su.append(b); //0xFF0000FF return su.toString(); } /** * 字符串转换成Color对象 * @param colorStr 16进制颜色字符串 * @return Color对象 * */ public static Color toColorFromString(String colorStr){ if(colorStr.toUpperCase().startsWith("0XFF")){//说明有16进制的前缀 colorStr = colorStr.substring(4); } Color color = new Color(Integer.parseInt(colorStr, 16)) ; return color; }
4、设置JLabel的背景色、字体颜色
JLabel titleLabel = new JLabel("测试"); //设置组件JLabel不透明,只有设置为不透明,设置背景色才有效 titleLabel.setOpaque(true); titleLabel.setBackground(Color.red);//设置背景色 titleLabel.setForeground(Color.white);//用前景色属性设置字体颜色 titleLabel.setFont(new Font("宋体",Font.BOLD,16));//字体、加粗、16号大小若是设置前景色、背景色,上面代码中的那句titleLabel.setOpaque(true); 一定要加,否则看不到效果。
5、JLabel、JTextField的居中
JLabel的居中比较简单,用构造方法就OK:
JLabel testLabel= new JLabel("测试",JLabel.CENTER);//设置名称且居中
文本框的居中则是:
JTextField test= new JTextField("");
test.setHorizontalAlignment(JTextField.CENTER);//居中
对齐类型有:
JTextField.LEFT:居左对齐
JTextField.CENTER:居中对齐
JTextField.RIGHT:居右对齐
JTextField.LEADING:前端对齐
JTextField.TRAILING:尾部对齐
相关推荐
Swing 是 Java 编程语言中的一组图形用户界面(GUI)组件,它们提供了丰富的用户界面元素,帮助开发者快速构建桌面应用程序。Swing 组件可以分为五大类:顶层容器、中间容器、特殊容器、基本组件和不可编辑组件。 ...
SWING常用控件
本资源"利用Swing开发的JAVA常用组件代码fprod-common-7.3.rar"提供了使用Swing开发的一些常见组件的示例代码,这将有助于理解和实践如何在Java程序中创建和操作用户界面。 Swing提供了许多组件,它们是构建用户...
Java Swing 是Java GUI(图形用户界面)库的一部分...提供的"Swing常用组件"资源很可能是包含各种示例代码的集合,这对于深入理解和实践Swing编程将大有裨益。记得经常实践和调试代码,以便更好地掌握这些组件的用法。
以下是一些Java Swing中常用的组件,以及它们的功能和应用。 1. **JFrame**: JFrame 是一个顶级容器,它用于承载其他的组件。它是大多数Swing应用的基础,因为它提供了一个窗口来展示内容。你可以添加JPanel、...
常用Swing组件GUI设计,
主要是总结了awt和swing常用组件中常用方法概况。
Java Swing常用组件的应用,更快Swing入门
在实际开发中,经常需要对 JTable 进行各种设置和操作,这篇文章将详细介绍 JTable 的常用属性和方法。 一、创建表格控件的各种方式 在实际开发中,创建 JTable 可以使用不同的方式,以下都是常用的创建方式: 1....
在Swing中,MVC模式被巧妙地融入到各个组件中,以实现组件的功能和可定制性。 **模型(Model)** 模型是应用程序的核心,负责处理数据和业务逻辑。在Swing中,JTable、JList等组件有自己的模型类,如...
在Java的Swing库中,`JTable`是用于创建数据网格视图的重要组件,它允许用户以表格的形式查看和操作数据。而`JButton`则是一个常用的按钮控件,通常用于触发某些动作或事件。将`JButton`添加到`JTable`中可以为用户...
- JButton、JLabel、JTextField、JTextArea、JCheckBox、JRadioButton等:Swing中的常用组件,分别对应按钮、标签、文本框、文本域、复选框和单选按钮。 2. **布局管理器** - FlowLayout:按照从左到右,从上到下...
Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。Swing提供了一系列组件,使得开发者可以构建功能丰富的、具有吸引力的桌面应用程序。以下是一些Swing组件的详细...
以下是一些Swing常用组件的基本介绍和使用方法。 1. **JLabel组件** JLabel是一个用来展示文本或图像的不可交互组件。它没有焦点,所以无法接收用户输入。构造方法包括: - `JLabel()`:创建一个空的标签。 - `...
常用的 Swing 容器包括 JFrame、JPanel、JApplet 等。 JLabel 组件是 Swing 库中最基本的组件之一,它可以用来显示文字、图片和其他信息。JLabel 的基本方法包括设置文本、图片、对齐方式和标签描述等。例如,get/...
### Java Swing 常用组件详解 #### 一、引言 在Java 1.0时代,为了实现GUI编程,Sun Microsystems推出了一个类库——AWT(Abstract Window Toolkit,抽象窗口工具包)。然而,由于AWT组件在实现过程中依赖于本地...
下面是 Java Swing 中常用的事件和监听器接口。 1. AncestorEvent 和 AncestorListener AncestorEvent 是一种报告给子组件的事件,该事件指示子组件的添加、移除或移动操作。AncestorListener 是对应的监听器接口...
在这个"Java Swing常用组件应用实例源码.rar"压缩包中,你将找到一系列Swing组件的实际应用示例,以及可能包含的文档,帮助你理解和学习如何在Java开发中使用这些组件。 1. **JFrame** - JFrame是Swing中的主要容器...
在Java的Swing库中,实现组件的透明拖动是一项常用的功能,这使得用户界面更加美观和交互友好。Swing提供了丰富的组件库,允许开发者创建复杂的GUI应用,并且支持自定义外观和行为。本篇文章将深入探讨如何在Swing中...
`JButton`是Swing中最常用的组件之一,用于创建按钮。它可以显示文本、图标或者两者的组合。`JButton`的一些常用构造方法包括: - `JButton()`:无参数构造方法,默认不显示任何文本或图标。 - `JButton(String ...