Несмотря на то, что код scala, вы можете увидеть подход, ориентированный на свинг. Я просто хочу добавить текстовую область на панель (ядро) и связать панель (ядро) с рамкой. Я хочу, чтобы ядро панели и текстовая область заполнялись на 100% по ширине и высоте. По сути, я просто хочу, чтобы текстовая область отображалась. С помощью этого кода я могу видеть текстовое поле, но оно есть. Ширина выглядит так, будто она составляет всего 1 пиксель.
Возможное решение? я должен найти способ добавить макет к рамке? Какой макет?
import java.awt.{ Insets, GridBagConstraints, Dimension }
import javax.swing.{ JPanel, JScrollPane, JTextArea }
import scala.swing.Swing._
import scala.swing.{ MainFrame, Panel, SimpleSwingApplication }
object LogAnaylyzerMain extends SimpleSwingApplication {
def maxWidth = 900
def maxHeight = 600
def initXPos = 320
def initYPos = 260
/**
* Core Panel Content.
*/
object coreContentPanel extends JPanel {
val outputTextArea = new JTextArea
val outputTextScrollPane = new JScrollPane(outputTextArea)
this.add(outputTextScrollPane)
}
class outputTextArea extends JTextArea {
this.setLineWrap(false)
this.setCaretPosition(0)
this.setEditable(true);
}
/**
* Main Frame, entry point.
*/
def top = new MainFrame {
peer.setLocation(initXPos, initYPos)
title = "JVM Log Analyzer"
contents = new Panel {
preferredSize = (maxWidth, maxHeight)
focusable = true
peer.add(coreContentPanel)
pack()
}
}
} // End of the Class //