亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從另一個類調用 ComponentResizer 來調整 JTextFields 的大???

如何從另一個類調用 ComponentResizer 來調整 JTextFields 的大???

Qyouu 2022-01-12 14:21:03
我目前正在開發一個項目,我希望能夠通過拖動鼠標而不是使用按鈕來調整 JTextField 組件的大小,我遇到了 Rob Camick 的Resizing Components Class但我不知道如何實現/調用它我的課,希望有任何幫助,我的代碼如下。提前致謝。import java.awt.BorderLayout;import java.awt.*;import java.awt.Color;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.Insets;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ComponentEvent;import java.awt.event.ComponentListener;import java.awt.event.MouseEvent;import java.awt.event.MouseMotionListener;import java.util.LinkedList;import java.io.*;import javax.swing.*;public class Sheet implements Runnable {LinkedList<Field> fieldList = new LinkedList<Field>();JFrame frame = new JFrame("Swing Testing...");public void run() {    Insets insets = frame.getInsets();    frame.setLayout(null);    JButton btn = new JButton("New");    JMenuBar menuBar = new JMenuBar();    JButton saveBtn = new JButton("Save");    JButton loadBtn = new JButton("Load");    JButton loadTempBtn = new JButton("Load From Template");    Dimension size = btn.getPreferredSize();    btn.setBounds(insets.left,insets.top,             size.width, size.height);    btn.setLocation(25, 50);    menuBar.setBounds(insets.left,insets.top,             size.width, size.height);    size = saveBtn.getPreferredSize();    saveBtn.setBounds(insets.left,insets.top,             size.width, size.height);    saveBtn.setLocation(500, 30);    size = loadBtn.getPreferredSize();    loadBtn.setBounds(insets.left,insets.top,             size.width, size.height);    loadBtn.setLocation(550, 30);    size = loadTempBtn.getPreferredSize();    loadTempBtn.setBounds(insets.left,insets.top,             size.width, size.height);    loadTempBtn.setLocation(600, 30);    btn.addActionListener(new ActionListener() {        @Override        public void actionPerformed(ActionEvent e) {            btn.setText("You Clicked me!");            FieldTypeFrame(e);        }    });
查看完整描述

1 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

在ComponentResize被設計成只能工作使用空布局的面板上,因為你正在服用effectly組件的大小和位置的控制。


因此,假設您要將組件添加到空框架中,您將執行以下操作:


frame.setLayout(null);


JTextField textField = new JTextField(10);

textField.setSize( textField.getPreferredSize() );

textField.setLocation(100, 100);

frame.add(textField);


ComponentResizer cr = new ComponentResizer();

cr.registerComponent(textField);

當您嘗試學習新的課程或概念時,請從簡單的事情開始。您發布的代碼太復雜了,無法學習如何使用此類。您只需要一個 JFrame 和一個 JTextField 來測試該類。


查看完整回答
反對 回復 2022-01-12
  • 1 回答
  • 0 關注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號