//-- V.java类,用来做MVC设计模式中的表现
import java.awt.Container;
import java.awt.Font;
import
javax.swing.JButton;
import javax.swing.JFrame;
import
javax.swing.JLabel;
import javax.swing.SpringLayout;
public class V {
//Title
final private static String MENU_DLG_TITLE = "MVC";
// Frame
private JFrame frame = new JFrame(MENU_DLG_TITLE);
// Container
private Container con = frame.getContentPane();
Font font = new Font("test", 20, 20);
JLabel lable = new JLabel(font.getName());
JButton enlarge = new
JButton("enlarge");
JButton abridge = new JButton("abridge");
public V() {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
SpringLayout lay =
new SpringLayout();
con.setLayout(lay);
lay.putConstraint(SpringLayout.WEST, lable, 120,SpringLayout.WEST,
con);
lay.putConstraint(SpringLayout.NORTH, lable, 180,
SpringLayout.NORTH, con);
lay.putConstraint(SpringLayout.WEST, enlarge, 80, SpringLayout.WEST,
con);
lay.putConstraint(SpringLayout.NORTH, enlarge, 380,
SpringLayout.NORTH, con);
lay.putConstraint(SpringLayout.WEST, abridge, 180,
SpringLayout.WEST,con);
lay.putConstraint(SpringLayout.NORTH, abridge,
380, SpringLayout.NORTH, con);
con.add(lable);
con.add(enlarge);
con.add(abridge);
C c = new C(this, new M());
enlarge.addActionListener(c);
abridge.addActionListener(c);
frame.setBounds(520, 80, 300, 450);
frame.setVisible(true);
}
public JButton getEnlarge() {
return enlarge;
}
public void setEnlarge(JButton enlarge) {
this.enlarge =
enlarge;
}
public JButton getAbridge() {
return abridge;
}
public void setAbridge(JButton abridge) {
this.abridge =
abridge;
}
public JFrame getFrame() {
return frame;
}
public void setFrame(JFrame frame) {
this.frame = frame;
}
public Container getCon() {
return con;
}
public void setCon(Container con) {
this.con = con;
}
public JLabel getLable() {
return lable;
}
public void setLable(JLabel lable) {
this.lable = lable;
}
}
//-- C.java类,用来做MVC设计模式中的控制器
import java.awt.Font;
import java.awt.event.ActionEvent;
import
java.awt.event.ActionListener;
public class C implements ActionListener{
private V v ;
private M
m;
public C(V v,M m){
this.v = v;
this.m = m;
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() ==
v.getEnlarge()) {
m.setSize(m.getSize() + 5);
m.setStyle(m.getStyle() + 5);
}else{
m.setSize(m.getSize() -
5);
m.setStyle(m.getStyle() - 5);
}
System.out.println("m.Style:" + m.getStyle());
System.out.println("m.Size:" + m.getSize());
Font font = new
Font(v.getLable().getText(),m.getStyle(),m.getSize());
v.getLable().setFont(font);
}
public V getV() {
return v;
}
public void setV(V v) {
this.v = v;
}
public M getM() {
return m;
}
public void setM(M m) {
this.m = m;
}
}
//-- M.java 用来做MVC设计模式中的Medel
public class M {
private static final long serialVersionUID = 1L;
private int size =
20;
private int style = 20;
public M() {
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public int getStyle() {
return style;
}
public void setStyle(int style) {
this.style = style;
}
}
//-- Test.java 测试代码
public class Test {
public static void main(String[] args) {
M m = new M();
V v = new
V();
new C(v,m);
}
}
分享到:
相关推荐
每个系统可能包含不同的功能模块,如用户管理、权限控制、报表生成等,源码示例可以帮助开发者了解如何在实际项目中运用Swing组件和设计模式。 通过学习和分析这11套源码,开发者不仅能掌握Swing的基本用法,还能...
此外,Swing引入了模型-视图-控制器(MVC)设计模式,使得组件的逻辑和显示分离,便于代码维护和扩展。 在Swing中,布局管理器如FlowLayout、BorderLayout、GridLayout、BoxLayout以及各种自定义布局管理器,负责...
通过深入学习这些知识点,并结合提供的代码示例,新手可以逐步掌握Java Swing的基本用法,进一步提升GUI编程能力。在实际项目中,还需要注意性能优化、线程安全以及与数据库或其他服务的集成等问题,这些都是进阶的...
总的来说,"java_editor_basic.rar"是一个宝贵的学习资源,它将帮助你深入理解Java Swing的使用,掌握Spring框架的IOC机制,并通过实际的代码示例了解和应用设计模式。通过对这个项目的分析和实践,你将在Java GUI...
7. **模型-视图-控制器(MVC)**:Swing遵循MVC设计模式,组件的逻辑和表示分离。理解这一模式将帮助你更好地组织代码并提高可维护性。 8. **国际化与 Accessibility**:Swing支持多语言和无障碍功能,开发者可以轻松...
Swing还提供了许多高级特性,例如模型-视图-控制器(MVC)的设计模式,使得代码结构更加清晰。事件处理机制使得用户与界面的交互变得简单,只需要添加事件监听器就可以响应用户的操作,如按钮点击事件。 在“超酷”...
此外,Swing支持模型-视图-控制器(MVC)设计模式,这有助于代码的组织和复用。 描述中的"chm"格式是指Microsoft的帮助文件格式,这种文件通常包含索引、搜索功能和书签,便于读者查找和学习特定主题。《精通Java ...
描述中提到的"完全完整实例"可能包括了Swing的各种常见功能和设计模式的示例,例如窗口管理、布局管理器的使用(如FlowLayout、GridLayout、BorderLayout和GridBagLayout)、事件监听器的实现、组件间通信、数据模型...
而Model-View-Controller(MVC)是一种软件设计模式,它有助于将业务逻辑、用户界面和数据存储分离,使得代码更易于维护和扩展。在Java Swing中应用MVC模式,可以提升GUI应用程序的可读性和可维护性。 1. **Model...
在这个"java Swing 实例"的压缩包中,我们可以期待找到一些实际的代码示例,帮助我们理解如何在Java中使用Swing进行GUI开发。 Swing 提供的组件包括按钮(JButton)、文本框(JTextField)、标签(JLabel)、滚动...
Alloy提供了一种现代、扁平化的界面风格,而Liquid则以流畅、动态的设计著称,它们都可以为Java Swing应用带来独特的视觉体验。 其次,"7种另类风格和实例"可能包含了各种创新或非传统的皮肤设计,这些设计可能具有...
### Java设计模式详解 ...通过以上内容可以看出,《Java设计模式PDF》这本书不仅提供了对各种设计模式的详细介绍,而且还结合了大量的示例代码和实用建议,对于Java开发者来说是一本非常有价值的参考书。
Swing MVC(Model-View-Controller)是一种设计模式,它被广泛应用于图形用户界面(GUI)开发,包括Java Swing框架。在Swing中,MVC模式帮助开发者将应用程序的逻辑分解为三个相互独立的部分,从而提高代码的可读性...
这里可能选择iText,因为它与Swing集成良好,且有丰富的文档和示例代码。 在Java Swing应用中,用户界面设计是关键。可以创建一个简单的GUI,包含文件选择按钮(用于选择Word文档)、转换按钮(触发转换过程)以及...
Swing库不仅提供了丰富的组件,还引入了模型-视图-控制器(MVC)设计模式,这使得代码更易于理解和维护。书中会详细解释如何使用ActionListener和其他事件监听器来处理用户交互,以及如何实现模型类来存储和管理数据...
- **社区资源**:Stack Overflow、GitHub 等平台上有大量的 Swing 相关问题解答和示例代码。 - **在线课程**:Coursera、Udemy 等网站提供了关于 Swing 的课程。 通过上述内容的学习,读者能够深入了解 Java Swing ...
Swing采用MVC设计模式,其中每个组件都有一个模型(Model)来存储数据,一个视图(View)来展示数据,以及一个控制器(Controller)来处理用户交互。 3. **事件处理**: Swing通过事件监听器接口处理用户交互,如...
5. **模型-视图-控制器(MVC)**: Swing遵循MVC设计模式,使得代码结构清晰,易于维护。例如,JTable和JList组件支持TableModel,允许开发者分离数据模型与视图。 6. **可定制组件**: Swing提供了JTable、JTree和...
这个“java swing小程序”压缩包很可能包含了一些示例代码,可以帮助初学者或者开发者更好地理解和掌握Java Swing的相关知识。下面将详细讨论Java Swing的主要组件、特性以及如何通过这些小程序进行学习。 Java ...