[[oktatas:programozás:java:java_komponensek|< Java komponensek]] ====== Java komponensek - Swing inputpanel ====== * **Szerző:** Sallai András * Copyright (c) 2023, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== Bevezetés ===== Swing programozói könyvtár használatával szeretnénk beviteli mezőt és hozzátartozó feliratot szeretnénk megjeleníteni. A feladat mintaprojektje: * https://github.com/andteki/inputpanel Ehhez hasonló mikorprojekt: * https://github.com/oktat/inputpanel.git ===== InputPanel ===== package hu.szit.inputpanel; import java.awt.Dimension; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class InputPanel extends JPanel { JLabel label; JTextField field; public InputPanel() { initComponent(); setupComponents(); addComponent(); } private void initComponent() { this.label = new JLabel(); this.field = new JTextField(); } private void setupComponents() { this.field.setPreferredSize(new Dimension(100, 25)); } private void addComponent() { this.add(this.label); this.add(this.field); } public void setText(String text) { this.label.setText(text); } public String getText() { return this.label.getText(); } public void setValue(String text) { this.field.setText(text); } public String getValue() { return this.field.getText(); } } ===== Az InputPanel használata ===== public class App { public static void main(String[] args) throws Exception { new Mainwindow(); } } import java.awt.FlowLayout; import javax.swing.JFrame; import hu.szit.inputpanel.InputPanel; public class Mainwindow extends JFrame { InputPanel inputPanel; public Mainwindow() { this.inputPanel = new InputPanel(); this.inputPanel.setText("Minta"); this.inputPanel.setValue("érték"); this.setLayout(new FlowLayout()); this.add(this.inputPanel); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(400, 300); this.setVisible(true); } }