java swing 边距_Java Swing初学,JFrame中的JLabel等元素紧靠边界,这个距离怎么写?...

展开全部

先要新建一个JPanel主面板62616964757a686964616fe59b9ee7ad9431333339666639,然后设置边距

jPanel.setBorder(new EmptyBorder(10, 10, 10, 10)); // 设置边距

具体实例import java.awt.GridLayout;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

import javax.swing.border.EmptyBorder;

public class JPanelTest {

public static void main(String[] args) {

JFrame jFrame=new JFrame("JPanel面板测试");

JPanel jPanel=new JPanel();

jPanel.setLayout(new GridLayout(3, 2, 10, 10));

jPanel.setBorder(new EmptyBorder(10, 10, 10, 10)); // 设置边距

jFrame.add(jPanel);

JLabel jl1=new JLabel("用户名:");

JTextField jtf=new JTextField();

JLabel jl2=n

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的Java Swing日历实现: ``` import javax.swing.*; import java.awt.*; import java.util.Calendar; import java.util.GregorianCalendar; public class CalendarApp extends JFrame { private JLabel monthLabel; private JPanel monthPanel; private JPanel dayPanel; private JLabel[] dayLabels; public CalendarApp() { setTitle("Calendar"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new BorderLayout()); // 创建月份标签 monthLabel = new JLabel(); monthLabel.setHorizontalAlignment(SwingConstants.CENTER); add(monthLabel, BorderLayout.NORTH); // 创建月份面板 monthPanel = new JPanel(new GridLayout(0, 7)); add(monthPanel, BorderLayout.CENTER); // 创建日期面板 dayPanel = new JPanel(new GridLayout(0, 7)); add(dayPanel, BorderLayout.SOUTH); // 创建日期标签 dayLabels = new JLabel[42]; for (int i = 0; i < dayLabels.length; i++) { dayLabels[i] = new JLabel(); dayLabels[i].setHorizontalAlignment(SwingConstants.CENTER); dayPanel.add(dayLabels[i]); } // 设置窗口大小并显示 setSize(400, 300); setVisible(true); // 更新日历 updateCalendar(); } private void updateCalendar() { // 获取当前月份和年份 Calendar calendar = new GregorianCalendar(); int month = calendar.get(Calendar.MONTH); int year = calendar.get(Calendar.YEAR); // 设置月份标签 monthLabel.setText((month + 1) + "/" + year); // 清除日历 for (int i = 0; i < dayLabels.length; i++) { dayLabels[i].setText(""); } // 获取当前月份的第一天 calendar.set(Calendar.DAY_OF_MONTH, 1); int firstDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); // 设置月份面板 String[] daysOfWeek = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; for (int i = 0; i < daysOfWeek.length; i++) { JLabel label = new JLabel(daysOfWeek[i]); label.setHorizontalAlignment(SwingConstants.CENTER); monthPanel.add(label); } for (int i = 1; i < firstDayOfWeek; i++) { monthPanel.add(new JLabel()); } for (int i = 1; i <= calendar.getActualMaximum(Calendar.DAY_OF_MONTH); i++) { JLabel label = new JLabel(Integer.toString(i)); label.setHorizontalAlignment(SwingConstants.CENTER); monthPanel.add(label); } } public static void main(String[] args) { new CalendarApp(); } } ``` 这个日历应用程序使用了JavaSwing组件和Calendar类来生成日历。它包括一个月份标签、一个月份面板和一个日期面板。在月份面板,我们将星期几的名称添加到第一行,并在第二行添加第一个日期。在日期面板,我们添加了每个日期的标签,并将它们按照星期几的顺序排列。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值