1

私は最初のチャット プログラム (Java でグラフィックスを使用) を作成しており、JavaFx シーン ビルダーを使用して、いくつかの写真を含む GUI を作成してから、互いにチャットできる 1 ~ 2 人の男性を作成しています。サーバーに接続されているクライアントの 1 つが他のクライアントと通信するたびに、小さな吹き出しが表示されるという考え方です。

私のアイデアは、CSS で編集するテキストフィールドを使用してこれを作成し、吹き出しのように見せることでした。

テキストフィールドを設定できるようにcssスタイルシートを探してみましたが、これまでのところ何もうまくいきませんでした。これまでに試した 2 つのスタイル シートは次のとおりです。

    .speech-bubble {
    position:relative;
    width: 320px;
    padding: 10px;
    margin: 3em;
    background-color:#FFF;
    color: #666;
    font: normal 12px "Segoe UI", Arial, Sans-serif;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
    border: 10px solid rgba(0,0,0,0.095);
}
.speech-bubble p {
    font-size: 1.25em;
}

.speech-bubble:before,
.speech-bubble:after {
    content: "\0020";
    display:block;
    position:absolute;
    top:-20px;  /* Offset top the height of the pointer's border-width */
    left:20px;
    z-index:2;
    width: 0;
    height: 0;
    overflow:hidden;
    border: solid 20px transparent;
    border-top: 0;
    border-bottom-color:#FFF;
}
.speech-bubble:before {
    top:-30px; /* Offset of pointer border-width + bubble border-width */
    z-index:1;
    border-bottom-color:rgba(0,0,0,0.095);
}


    .bubble{
    background-color: #F2F2F2;
    border-radius: 5px;
    box-shadow: 0px 0px 6px #B2B2B2;
    height: 200px;
    margin: 20px;
    width:  275px;
}

.bubble::after {
    background-color: #F2F2F2;
    box-shadow: -2px 2px 2px 0 rgba( 178, 178, 178, .4 );
    content: "\00a0";
    display: block;
    height: 20px;
    left: -10px;
    position: relative;
    top: 20px;
    transform: rotate( 45deg );
    width:  20px;
}

問題は、これをテキストフィールドに追加しても外観が変わらないことです。間違っているのか、これらのスタイルシートがテキストフィールドに合わないのかわかりません

誰かが私を助けてくれることを願っています。

4

1 に答える 1

2

この CSS は、私の知る限りサポートされていない Web CSS のようです。有効な JavaFX css プロパティは通常、「-fx」で始まります。ここに参照があります:

http://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html

テキスト フィールド コントロールに speech-bubble CSS クラスがあることを確認してください。変更を 1 つずつ追加して、SceneBuilder で結果を確認してみてください。一度に多くの変更を加えようとすると、そのうちの 1 つがうまくいかないことがあります。

于 2012-09-21T12:42:48.360 に答える