21. marts 2006 - 11:58Der er
11 kommentarer og 1 løsning
JScrollPane på JTextArea
Hej, Jeg har programmeret et system, der kan indeholde et utal af et records, der bliver gemt i en ekstern fil. Når brugeren vælger at liste samtlige records i JTextArea-feltet eller gør programvinduet mindre, skal der tilføjes en JScrollPane, så brugeren kan scrolle både horisontalt og vertikalt i JTextArea for at kunne se al data.
Jeg kan ikke få det til at virke, men har forsøgt med flg.:
JScrollPane pane = new JScrollPane(displayArea); // displayArea er mit JTextArea
I konstruktoren tilføjer jeg JScrollPane objektet til min GUI:
add(pane);
Den bliver bare aldrig synlig... løsningen er sikkert enkel, jeg kan bare ikke se mig ud af det :)
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Jeg har ikke tilføjet displayArea på den måde, men er jo nødt til at få den placeret i GUI'en, hvilket jeg gør vha. et Panel: this.add("Center", displayArea); Dernæst skal et JScrollPane objekt jo assignes til displayArea...
Her følger min kode - bemærk, alle metoder er udeladt!
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; /** * * Class BookTableGUI * * @version March 2006 */
public class BookTableGUI extends JFrame implements ActionListener { //the attributes private BookTable library; // vigtig instansvariabel for IO!
private JLabel isbnLabel = new JLabel("ISBN ", JLabel.RIGHT); private JTextField isbnField = new JTextField(50); private JLabel titleLabel = new JLabel("Title ", JLabel.RIGHT); private JTextField titleField = new JTextField(50); private JLabel authorLabel = new JLabel("Author(s) ", JLabel.RIGHT); private JTextField authorField = new JTextField(50); private JLabel blankLabel1 = new JLabel(); private JLabel blankLabel2 = new JLabel(); private JLabel blankLabel3 = new JLabel();
private JMenuBar bar = new JMenuBar();
private JMenu editMenu = new JMenu("Edit"); private JMenu searchMenu = new JMenu("Search"); private JMenu fileMenu = new JMenu("File");
//Submenu for "Search Books by Author" private JMenu addfuncMenu = new JMenu("Additional Functionality");
private JMenuItem addItem = new JMenuItem("Add", new ImageIcon("note.gif")); private JMenuItem removeItem = new JMenuItem("Remove");
private JMenuItem findisbnItem = new JMenuItem("Search by ISBN"); private JMenuItem listrecordsItem = new JMenuItem("List Records");
//"Search Books by Author" in submenu... private JMenuItem authorItem = new JMenuItem("Search Books by Author", new ImageIcon("icon_eek.gif"));
private JMenuItem save = new JMenuItem("Save"); private JMenuItem savequit = new JMenuItem("Save And Quit"); private JMenuItem quit = new JMenuItem("Quit Without Saving");
private JTextArea displayArea = new JTextArea(5,10);
private JLabel errorLabel = new JLabel(" ");
private JPanel inputPanel = new JPanel(); private JPanel topPanel = new JPanel();
//Assign a JScrollPane to the displayArea in case we need to scroll through tons of records //private JScrollPane pane = new JScrollPane(displayArea); //private JScrollPane pane = new JScrollPane();
//the constructor public BookTableGUI() { setTitle("Book Table GUI"); setSize(700,400);
library = new BookTable();
BookIO.readList(library); // Denne sætning er rigelig til at kunne indlæse gemte poster!!
Nå, jamen jeg har prøvet at udkommentere linierne bare for at se om forsk. tilgange ville løse det, så add(pane); har jeg bare glemt at ud kommentere.
Nuvel, hvis jeg udkommenterer add(displayArea, "Center");, kommer pane objektet til syne, men så virker displayArea ikke som det skal - dvs. det kan ikke vise data!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.