私のプログラムは、データベース内のデータ(株価&)がYahoo Financeのデータ(株価と価格)と一致すると、ユーザーに警告します。 HarryJoyの助けを借りて、私はポップアップ通知を実装することができます。必要に応じてフレームを表示する方法と、常にフレームを常に上に表示する方法はありますか?
問題は、画面上のポップアップ位置がデータベースループ(int db)に基づいているかどうかです。データが一致しなくてもフレームがポップします。
データベースデータ= Yahoo Financeデータの場合にのみ、カウンタやいくつかの方法でフレームをポップアップすることはできますか?また、私の通知パネルはメインフレームの後ろにあるように見えます。メインフレームの上にパネルを表示するにはどうしたらいいですか?
私は十分な情報を与えられたと思いますが、まだ不明な点がある場合は質問してください。どんな指導も頂けます!ありがとう!
データベース内(私の説明を順番に表示するコードサンプルのみを使用してください、以下のソースコード)。
Object 1 = match
Object 2 = doesn't match (hence there's a gap)
Object 3 = match
Object 4 = match
スクリーンショット:
コード:
for (int db=0; db<= rowCount; db++)
{
Object popSymbol = table.getModel().getValueAt(db, 0);
String popupSymbol = popSymbol.toString();
Object popValue = table.getModel().getValueAt(db, 1);
String str = popValue.toString();
double popStockValue = Double.valueOf(str).doubleValue();
String stockNameDB = popupSymbol;
StockPara stock = YahooStock.getInstance().getStockPrice(stockNameDB);
double stockPriceDB = Math.round(stock.getPrice());
final JFrame popUpFrame;
final JPanel popupPanel;
if (stockPriceDB == popStockValue)
{
String header = "Stock: " + stock.getTicker() + " is now @ " + stock.getPrice();
String message = "";
popUpFrame = new JFrame();
popUpFrame.setSize(320,90);
popUpFrame.setUndecorated(true);
popUpFrame.getContentPane().setLayout(null);
popupPanel = new JPanel();
popupPanel.setBorder(new LineBorder(new Color(0, 0, 0)));
popupPanel.setBounds(0, 0, 320, 90);
getContentPane().add(popupPanel);
popupPanel.setBackground(new Color(255, 255, 224));
popupPanel.setLayout(null);
popUpFrame.add(popupPanel);
// Other labels, images, etc.
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Insets toolHeight = Toolkit.getDefaultToolkit().getScreenInsets(popUpFrame.getGraphicsConfiguration());
popUpFrame.setLocation(screenSize.width - popUpFrame.getWidth(), screenSize.height - toolHeight.bottom - (popUpFrame.getHeight() * (db+1)));
}
}
ギヨームのPoletを使用し、それは私の問題を解決!どうもありがとう! –