[英]Jython jlist text not showing in JFrame
我正在編寫一個小的股票報價應用程序,當我編譯代碼時,將在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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.