`

控件位置可以配置的Swing桌面

阅读更多
用过Wordpress或者Joomla的朋友一定对他们的灵活的页面布局印象深刻。在Joomla中,你可以将一个控件,放在页面的任何一个位置,例如:左边,右边,菜单,底部等等。

所以我也尝试着在Swing桌面上实现类似的功能,思考以后发现其实swing实现这种功能比利用html页面实现该功能还简单。

首先我们定义一个位置接口,实现该接口的类就标示它的位置
public interface Arrange {
	
	public String getComponentName();

}


第二:继承Arrange 接口,定义不用的位置接口,分别有
public interface ArrangeBottom extends Arrange
public interface ArrangeLeft extends Arrange
public interface ArrangeLogo extends Arrange
public interface ArrangeMainBottom extends Arrange
public interface ArrangeMenuBar extends Arrange
public interface ArrangeRight extends Arrange
public interface ArrangeToolBar extends Arrange

上面的接口标示的位置见下图:


第三:我们写一个面板,实现位置接口
例如:public class ZPanel extends JPanel implements ArrangeRight
protected void paintComponent(Graphics g) {
		if (null != wallpaper) {
			processBackground(g);
		}
		System.out.println("f:paintComponent(Graphics g)");
	}

	public void setBackground() {
		wallpaper = new javax.swing.ImageIcon(getClass()
				.getResource("/com/peraglobal/workspace/initcompt/picpanel/kutoku.jpg"));
		this.repaint();
	}


第四:在配置文件中配置这个类
打开配置文件按zlconfig.xml
编写 <bean class="com.peraglobal.workspace.initcompt.picpanel.ZPanel" ></bean>

第五:加载配置文件
我们利用Spring将配置文件中实现了某一接口的类全部拿出,并且加载到指定的位置:
Map<?, ?> lefts = context.getBeansOfType(ArrangeLeft.class);
		ArrangeLeft agLeft;

		leftPanel.setLayout(new BorderLayout());
		JTabbedPane tabLeft = new JTabbedPane();

		leftPanel.add(tabLeft);

		Iterator<?> it = lefts.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry<?, ?> entry = (Map.Entry<?, ?>) it.next();
			Object key = entry.getKey();

			Class<?> newClass = Class.forName((String) key);
			agLeft = (ArrangeLeft) newClass.newInstance();
			tabLeft.add((Component) agLeft, agLeft.getComponentName());
		}


第六:我们看到我们刚才写的一个Panel已经加载到了右边的面板中


第七:源码下载
0
0
分享到:
评论

相关推荐

    java swing 时间日期选择控件

    Java Swing 是Java GUI(图形用户界面)库的一部分,它提供了丰富的组件来构建桌面应用程序。在Swing中,处理日期和时间选择的控件是至关重要的,因为它们为用户提供了一个直观的方式来选择日期或时间,而无需手动...

    swing 日期选择控件

    尽管Swing自身没有内建的日期选择器,但通过扩展JFrame、JPanel等基本组件以及利用其他类库,可以创建自定义的日期选择控件。 在提供的描述中提到了"包含库文件和资源文件",这意味着这个压缩包可能包含了一个完整...

    java swing 时间控件

    可以使用不同的布局管理器,如FlowLayout、GridLayout、BorderLayout等,来确保时间控件和其他组件在窗口中的位置和大小合适。 总结,Java Swing虽然没有内置的时间控件,但通过组合现有的组件,结合第三方库,我们...

    JAVA Swing日期选择控件datepicker

    Java Swing 是Java GUI(图形用户界面)开发的一个重要库,它提供了一系列丰富的组件,用于创建桌面应用程序。在Swing中,DatePicker是一个非常实用的控件,允许用户方便地选择日期,通常用于输入或显示日期相关的...

    swing时间选择控件

    5. **国际化和本地化**: Swing时间选择控件通常支持本地化,可以根据用户的系统设置自动显示合适的日期和时间格式。开发者也可以手动设置locale属性来调整显示的语言和格式。 6. **布局管理**: 为了美观和用户体验...

    java swing 日期控件

    Swing的日期控件支持国际化,可以通过`setLocale` 方法设置语言环境,以适应不同地区的日期格式。 ```java datePicker.setLocale(Locale.CHINA); ``` 综上所述,Java Swing 提供了多种日期选择组件,如`...

    java Swing日期控件

    Java Swing 是 Java GUI(图形用户界面)库的一部分,它提供了丰富的组件来构建桌面应用程序。在 Swing 中,日期控件主要用于用户交互,允许用户选择或输入日期。这些控件使得应用程序可以方便地处理与日期相关的...

    一个swing的日历控件

    总的来说,"一个Swing的日历控件"是一个实用的GUI组件,可以帮助开发者快速构建具有日期选择功能的应用程序。通过研究和使用开源版本,开发者不仅可以提升编程技能,还可以学习到软件设计和优化的最佳实践。

    Swing 日期控件(包含源代码)

    Swing是Java GUI库的一部分,它提供了一系列丰富的组件来创建桌面应用程序。在Swing中,日期控件主要用于用户选择或输入日期。在这个特定的资源中,我们关注的是一个经过二次封装的日期组件,用于改进原始的日期选择...

    JavaSwing界面设计(所有控件及示例)

    总结起来,Java Swing 提供了一整套组件和工具,用于创建丰富的图形用户界面,无论是在桌面应用还是轻量级应用中都有广泛的应用。理解和熟练掌握Swing,能够帮助开发者创建出高效、美观且易于使用的应用程序。

    java Swing控件测试(界面编程)

    Java Swing是Java GUI(图形用户界面)编程的一个重要框架,它提供了一系列的组件,用于创建桌面应用程序的交互式用户界面。在"java Swing控件测试(界面编程)"这个主题中,我们将深入探讨Swing控件的使用方法和设计...

    swing窗体控件学习文档

    在Swing中,你可以创建复杂的、功能丰富的桌面应用程序,包括各种各样的窗口部件(控件)。这份"swing窗体控件学习文档"很可能是对Swing控件的详细讲解,帮助开发者掌握如何在Java程序中使用这些控件。 Swing提供了...

    JAVA swing基本控件实例

    Java Swing 是Java GUI(图形用户界面)库的一部分,它提供了丰富的组件来构建桌面应用程序。...每一个项目都是一个学习Swing控件及其交互的好例子,对于任何想要深入Java桌面应用开发的人来说,这些都是宝贵的资源。

    swing 日历控件

    在Swing中,开发人员可以创建丰富的、跨平台的桌面应用程序。本篇文章将详细探讨如何在Swing中使用日历控件,以及如何在`JFrame`或`JDialog`上实现这一功能。 首先,`JCalendarDialog.java`文件很可能是包含了一个...

    Swing 日期控件(jar包)

    在Swing中,开发人员可以创建丰富的、跨平台的桌面应用程序。Swing提供了一系列组件,如按钮、文本框、菜单等,用于构建用户界面。在处理日期和时间选择时,Swing虽然没有内置的日期选择器,但可以通过第三方库来...

    java swing控件

    ### Java Swing 控件详解 #### 引言 Java Swing 是一套强大的图形用户界面(GUI)工具包,旨在为 Java 应用程序提供丰富的组件和功能。相比于早期的 AWT(Abstract Window Toolkit),Swing 提供了更多的灵活性和...

    Swing 多选栏控件

    在Swing中,我们可以通过多种组件来创建丰富的交互式应用,其中包括用于实现多选功能的控件。本篇文章将深入探讨Swing中的多选栏控件及其使用方法。 在Swing中,多选栏通常指的是`JList`或`JTable`控件,它们允许...

    java swing控件演示

    Java Swing是Java GUI(图形用户界面)库的一部分,用于创建桌面应用程序。Swing提供了一系列的组件,这些组件允许开发者构建功能丰富的用户界面。本演示主要关注Java Swing中的常见控件以及`JTable`的使用。 1. **...

Global site tag (gtag.js) - Google Analytics