java - Jython jlist 文本未显示在 JFrame 中

标签 java python swing jython jlist

我正在编写一个小型股票报价应用程序,当我编译代码时,Jlist 中将占用文本空间,但不会出现任何文本。

def loadStockDisplay(self):
    self.display = JPanel()
    self.display.setLayout(BorderLayout())
    self.display.setBackground(Color.decode("#0A0A33"))
    self.display.setBorder(BorderFactory.createMatteBorder(0,3,0,0,Color.decode("#8080E6")))
    self.label = JLabel("Stocks")
    self.label.setForeground(Color.decode("#FCFCFC"))
    self.label.setFont(self.font)
    self.display.add(self.label,BorderLayout.NORTH)
    self.stocks = DefaultListModel();
    self.items = JList(self.stocks)
    self.items.setBackground(Color.decode("#0A0A33"))
    self.items.setForeground(Color.decode("#FCFCFC"))
    self.items.setFont(self.font)
    self.items.setSelectionBackground(Color.decode("#0A0A33"))
    self.items.setSelectionForeground(Color.decode("#FCFCFC"))
    self.display.add(self.items, BorderLayout.CENTER)
    self.frame.add(self.display,BorderLayout.EAST)
    self.updateStocks()

def updateStocks(self):
    companys = ["MSFT","SNDK","GOOGL","NOK","EMC","HPQ","IBM","EBAY","AAPL","AMZN"]
    tempList = []
    for company in companys:
        Quote = web()
        tempList.append(company + " " + str(Quote.getQuote(company)))
    self.stocks.clear()
    for item in tempList:
        self.stocks.addElement(item)

最佳答案

也许代码中存在问题,但问题中尚不可用?您能分享一下类和主要方法吗(如果有的话)?从网络获取报价也可能存在问题。

如果我添加一些代码来使您的程序运行,该列表将包含每个公司的项目(带有虚拟报价):

from java.awt import BorderLayout, Color
from javax.swing import BorderFactory, DefaultListModel, JFrame, JLabel, JList, JPanel

class StocksTest:
    def loadStockDisplay(self):
        self.frame = JFrame('Stocks', defaultCloseOperation=JFrame.EXIT_ON_CLOSE, size=(300, 300), locationRelativeTo=None)
        self.display = JPanel()
        self.display.setLayout(BorderLayout())
        self.display.setBackground(Color.decode("#0A0A33"))
        self.display.setBorder(BorderFactory.createMatteBorder(0,3,0,0,Color.decode("#8080E6")))
        self.label = JLabel("Stocks")
        self.label.setForeground(Color.decode("#FCFCFC"))
        self.label.setFont(self.frame.font)
        self.display.add(self.label,BorderLayout.NORTH)
        self.stocks = DefaultListModel();
        self.items = JList(self.stocks)
        self.items.setBackground(Color.decode("#0A0A33"))
        self.items.setForeground(Color.decode("#FCFCFC"))
        self.items.setFont(self.frame.font)
        self.items.setSelectionBackground(Color.decode("#0A0A33"))
        self.items.setSelectionForeground(Color.decode("#FCFCFC"))
        self.display.add(self.items, BorderLayout.CENTER)
        self.frame.add(self.display,BorderLayout.EAST)
        self.frame.setVisible(True)
        self.updateStocks()

    def updateStocks(self):
        companys = ["MSFT","SNDK","GOOGL","NOK","EMC","HPQ","IBM","EBAY","AAPL","AMZN"]
        tempList = []
        for company in companys:
            #Quote = web()
            #companyQuote = Quote.getQuote(company)
            companyQuote = len(str(company)) * 314.15
            tempList.append(company + " " + str(companyQuote))
        self.stocks.clear()
        for item in tempList:
            self.stocks.addElement(item)


def main():
    StocksTest().loadStockDisplay()

if __name__ == '__main__':
    main()

关于java - Jython jlist 文本未显示在 JFrame 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27694763/

相关文章:

java - 使用mockito和powermockito在java中进行单元测试

java - 元素中的 xsd 验证抛出内容类型异常

python - 为 sympy.Derivative 创建自定义打印

python - 在 Traitsui GUI 之外更改属性

java - JOptionPane 方法未找到

java - 在 Swing 中设置标签文本会撤消所有按钮位置移动

java - 什么是未经检查的强制转换警告以及 java 在这种情况下期望做什么

python - 访问 Pandas 数据框时出现关键错误

Java Swing 定时器不清晰

java - 使用java发送邮件验证错误